X



Excel総合相談所 135
レス数が1000を超えています。これ以上書き込みはできません。
0001名無しさん@そうだ選挙にいこう
垢版 |
2019/05/02(木) 08:46:03.35
【1 OSの種類         .】 Windows**
【2 Excelのバージョン   】 Excel**
【3 VBAが使えるか    .】 はい・いいえ
【4 VBAでの回答の可否】 可・否

▼━関連スレ━━━━━━━━━━━━

前スレ
Excel総合相談所
https://find.5ch.net/search?q=excel

Excel VBA 質問スレ
https://find.5ch.net/search?q=excel+vba

【質問不可】Excel総合相談所スレの雑談・議論スレ
https://find.5ch.net/search?q=excel+%E3%80%80%E7%9B%B8%E8%AB%87%E6%89%80
0004名無しさん@そうだ選挙にいこう
垢版 |
2019/05/02(木) 12:58:18.65
Excel初心者です。

関数やVBAを調べながら業務をしております。
質問ですが、そのシートの決まった列だけタブ移動やクリックを受け付けない方法はありますか?
これだけなら調べたり聞いたりしたVBAやセルのロックなどでうまくいきましたが、その状態のまま行コピーも出来る方法は無いでしょうか?
よろしくお願いいたします。
Excel初心者です。
0006名無しさん@そうだ選挙にいこう
垢版 |
2019/05/02(木) 15:04:47.57
【警鐘】と仰々しく、https://qiita.com/CodeOne/items/22004635d3c7cc533e5e
しかし、事実は事実
その下の方にあるリンク『山市良のえぬ・・』などでも混乱ぶりが
【令和】Microsoftの元号対応が迷走・・ だと、各アプリ毎とかOSのビルドごととかの比較も載ってて良心的

ンなもン、#2019/4/30#< とかでちょろく変更できるレベルにしとかなきゃダメだ
便利を極め過ぎて不便極まりない 1年なのか元年なのか、細かい事言い出したらキリもない
そこをスムースに「これでいいスか?」でジェントルに対応できるよう、各位精進せよ
真田のおやじ言葉なら「おのおの抜かりなく」
0010名無しさん@そうだ選挙にいこう
垢版 |
2019/05/02(木) 17:55:23.17
”=10+20”
を文字列でほしいとかそういう事じゃない
vba使わないと無理でしょ
見たいだけなら「数式の表示」で表示は叶
0013ぴころ ◆lHG3Yzo0a6
垢版 |
2019/05/02(木) 19:01:11.03
FORMULATEXT関数はExcel2013で追加された関数でしゅ(^▽^)

前のバージョンでは使えません(^▽^)
0016名無しさん@そうだ選挙にいこう
垢版 |
2019/05/03(金) 16:05:38.32
教えてください。

上級者の作った表でよくあるのですが、
表の部分だけ枠線が出来ており、シートの表以外の部分は、
薄いセル枠線すらなく真っ白のまま、というのをよく見ます。

実はセル背景と同じ真っ白色の罫線が設定されてるのではと思い確かめましたが
そんなことはなく、罫線はなしになっていました。

あれ、どうやって作っているのでしょうか?
0020名無しさん@そうだ選挙にいこう
垢版 |
2019/05/04(土) 12:02:08.92
RANK関数で列をまたいで範囲を指定したいのですが、うまくいきません。

=RANK(H1,$H$1:$H$10:$R$1:$R$10,1)
エラーは出ないのですが戻り値が0になってしまいます。
0023名無しさん@そうだ選挙にいこう
垢版 |
2019/05/04(土) 16:41:47.53
エクセルで作った見積書の日付欄なんですが今日のアップデートで令和表示されるようになったのですが
令和1年5月4日と表示されますこれを令和元年5月4日となるようにしたいのですがどうすればいいでしょうか

数式は


=IF(A10=1,"平成  年  月  日",TODAY())


となっていますよろしくお願いします。
002723
垢版 |
2019/05/04(土) 17:54:45.33
>>26
よくわかりました。ありがとうございました。
0028名無しさん@そうだ選挙にいこう
垢版 |
2019/05/04(土) 18:14:16.21
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
誰かが勝手に設定を弄ってしまったらしく
スペルミスしたセルに自動で波線が引かれなくなりました
どうしたら全てのスペルミスしたセルに自動で波線が出るようにできるでしょうか?
0029名無しさん@そうだ選挙にいこう
垢版 |
2019/05/04(土) 18:24:25.32
> 誰かが勝手に設定を弄ってしまったらしく
あんたぁ自身が弄ったんじゃないのぉ?
先ずはそこんとこを反省してからだな
0030名無しさん@そうだ選挙にいこう
垢版 |
2019/05/04(土) 18:30:51.45
>>29
自分は本当に設定を何も弄ってないのですが、ある日突然出なくなっていました
そもそも設定系のタブを開く事がありません
第一、前日まで普通に使えていて、その状態で設定系のタブは一切開かずに、CTRL+Pで印刷、CRTL+Sで保存、×ボタンでExcelを終了、帰宅して、翌日の朝、出社していきなり使えなくなっていたんですから
前日に残業した人か早朝出勤した人が弄った以外にありえないでしょう?
0035名無しさん@そうだ選挙にいこう
垢版 |
2019/05/05(日) 21:53:11.97
なんかアップデートのせいで、今まで数字が見えてたセルが「##」になるんだけど…
1ピクセル分広げないといけなくなってメンドクサイ・・・
こういうの俺だけ?
0036名無しさん@そうだ選挙にいこう
垢版 |
2019/05/05(日) 23:25:06.20
別ブックの選択セルの中のマウスポインターの位置に押したボタンの文字が挿入されるマクロボタン作りたいんですがどんな感じになりますでしょうか
例えばぶっくaの「燃えるを捨てに行く」の文字列のをと捨の間にポインター置いてぶっくbの「ゴミ」のマクロボタンを押すと「燃えるをゴミ捨てに行く」になる感じです
0039名無しさん@そうだ選挙にいこう
垢版 |
2019/05/06(月) 11:46:07.72
>>35

同じ症状が出た。
今回のアプデで列幅が勝手に縮められて、
図表のレイアウトが全部崩れた。

いったいどうしてくれるんだ、アプデ!
そして誰か、一括で元に戻す方法あったら、教えてください。
0042名無しさん@そうだ選挙にいこう
垢版 |
2019/05/06(月) 13:52:57.18
>>40
レスサンキュ。
だけど、図表のレイアウトの都合で、
各列ごとに違う列幅を設定していたんだ。
しかも図表が100個くらいある。

100個の図表それぞれで、
それぞれの列幅を設定し直さないといけないと思うと、
気が遠くなる。
一括して元に戻す方法はないのか…
0044名無しさん@そうだ選挙にいこう
垢版 |
2019/05/06(月) 17:12:48.59
列幅勝手に変更のアプデは最低最悪の所業だと思うが、
仕事でExcelの図表使っている会社からクレームは来てないのか?
明日からの仕事再開でどっとクレーム来るか。
0045名無しさん@そうだ選挙にいこう
垢版 |
2019/05/06(月) 17:17:14.49
>>44
そんなもんやで
クレーム送っても特に何も変わらないし戻るわけでも無いので時間の無駄
文句言う暇あったら粛々と再設定作業しよう
0046名無しさん@そうだ選挙にいこう
垢版 |
2019/05/06(月) 18:09:37.15
初心者ですがVBAについて質問です。
特性のセルに
他のソフトの値からコピペした 中心(ワーク)( 0.000000, 0.000000, 25.000000 )
という文字が貼り付けられたと同時に、オブジェクトを作って動かすマクロを作りたいのですが、ご教授下さい。
オブジェクトを作って動かすマクロはマクロの記録で作れたのですが、
中心(ワーク)( 0.000000, 0.000000, 25.000000 )
の25.000000 が
0の時はAのマクロ
25.000000の時はBのマクロ
その他の時はCのマクロ
という具合に機能できればと思っています。
エクセル2007のWIN7ですがよろしくお願いします
0047名無しさん@そうだ選挙にいこう
垢版 |
2019/05/06(月) 18:44:08.05
>>46
多分単語を間違えている
そのまま読むと意味が分からないところが多い

>オブジェクトを作って動かすマクロ
これが良く分からない。オブジェクトって何のオブジェクト?

とりあえず貼り付け時に動く物はこんな感じ

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
flg = Target.Value
flg = Split(flg, ",")(2)
flg = Replace(flg, ")", "")
flg = Replace(flg, " ", "")
If flg = "25.000000" Then
Call sub_a
ElseIf flg = "0.000000" Then
Call sub_b
Else
Call sub_c
End If
On Error GoTo 0
End Sub
0048名無しさん@そうだ選挙にいこう
垢版 |
2019/05/06(月) 20:20:40.98
>>45
さすがにクレーム多いと改善するよ
去年あったアプデでクレーム殺到した結果
クレームのあった機能を元に戻すアプデあったし

ただ、今回の場合再アプデでまた設定し直しする羽目になりそうだが
004946
垢版 |
2019/05/06(月) 20:37:27.93
>>47
ありがとうございます。
すみませんオブジェクトじゃなくてオートシェイプ(図形)でした
数値によって違う位置のラインを引きたいと思ってます。
マクロの記録を使ってそのコードがわかりました。
そのコードを今教えてもらったところに
Call sub_macro a
などでよろしいでしょうか?
005146
垢版 |
2019/05/06(月) 21:33:35.75
>>50
ありがとうございます。
明日試させてもらいます!
0053名無しさん@そうだ選挙にいこう
垢版 |
2019/05/07(火) 04:50:30.08
>>52
ウンチすぎですね
0054名無しさん@そうだ選挙にいこう
垢版 |
2019/05/07(火) 04:52:10.90
>>52
ウンチすぎですね
0056名無しさん@そうだ選挙にいこう
垢版 |
2019/05/07(火) 04:53:25.52
>>52
本当に令和対応はウンチがいっぱいです
0057名無しさん@そうだ選挙にいこう
垢版 |
2019/05/07(火) 04:54:49.99
>>55
ここにもウンチがいっぱいだ!
0059名無しさん@そうだ選挙にいこう
垢版 |
2019/05/07(火) 05:05:09.03
>>39>>44
とりあえずKB4495667を削除したら列幅やセルクリックのVBAが作動しない問題は治った。
アプデが害悪。たぶんすぐ対応のパッチ出すと思うけど、本当にMSざるすぎるでそ
0060名無しさん@そうだ選挙にいこう
垢版 |
2019/05/07(火) 05:36:41.28
>>59
でそ

でしょ?
カッコ悪いからやめたまえ
006146
垢版 |
2019/05/07(火) 10:05:17.77
>>50
何度も申し訳ありません。
昨日教えていただいたコードで
例えばA1のセルに貼り付けた時に動かす場合どの様にコードを変えればよろしいでしょうか?
レベルの低い質問ですがよろしくお願いいたします。
0062名無しさん@そうだ選挙にいこう
垢版 |
2019/05/07(火) 10:18:27.59
>>61
スマホだからスペル違うかも知れんが、エラーでたら適当に解釈してくれ

Private Sub Worksheet_Change(ByVal Target As Range)
if target.row=1 and target.column=1 then
On Error Resume Next
'省略
On Error GoTo 0
endif
End Sub
0065名無しさん@そうだ選挙にいこう
垢版 |
2019/05/07(火) 15:01:51.63
>オプションとして配布されるはずの「KB4495667」が誤って一部ユーザーに自動配信されていたことを明らかにした。すでに対策が講じられているため、ユーザー側の対処は不要だ。

「Windows 10 バージョン 1809」向けの“オプション”パッチが誤って自動配信される
https://forest.watch.impress.co.jp/docs/news/1183014.html


これは酷いwww
0069名無しさん@そうだ選挙にいこう
垢版 |
2019/05/08(水) 10:11:20.40
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ(マクロの記録程度なら可)
【4 VBAでの回答の可否】 可

質問させてください。
A1セルの値によって別シートにある文字列を○(オートシェイプの楕円等)で囲むことは可能でしょうか。
具体的にはとある事柄について「可」ならば、A1に入力規則で「○」に入力(不可なら空白のまま)することで印刷用シート上の「可能」の文字を囲みたいです。
A1の値は空白か否かを想定していますが、作業列の追加は可能なので、数字でも大丈夫です。
よろしくお願いします。
0072名無しさん@そうだ選挙にいこう
垢版 |
2019/05/08(水) 12:37:06.07
IEでリンクをクリック→@入力ボックスに数字を手入力→A保存ボタンをクリック→Bファイル保存ウィンドウが出るまで待機し出たら保存クリック→クリックで別窓を開き、その別窓で@〜Bと同じ動作をする
こういう自動化ってvbaだけでできますか?(@は一部手作業ですが)
0074名無しさん@そうだ選挙にいこう
垢版 |
2019/05/08(水) 16:17:47.50
日付データのセルを並び替えたいのですが
↓のようにバラバラになってしまいます。。
この場合どうすれば良いのでしょうか?
ご教授願いますm(__)m

2017年10月18日(水) 午後6:25
2017年10月1日(日) 午後0:05
2017年10月21日(土) 午後10:47
2017年10月3日(火) 午後4:32
2017年10月4日(水) 午後3:53
2017年10月6日(金) 午後5:15
2017年10月7日(土) 午後10:18
0075名無しさん@そうだ選挙にいこう
垢版 |
2019/05/08(水) 17:37:01.90
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

A1セルに【1<2<3<4<5】と入力した時に
B1セル【1】
C1セル【2】
D1セル【3】
E1セル【4】
F1セル【5】
と文字を抽出するにはどうすればいいでしょうか?
0076名無しさん@そうだ選挙にいこう
垢版 |
2019/05/08(水) 17:58:22.46
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Googleスプレッドシート
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

averageif関数で次の関数を組みました。
=averageif(Sheet2!A:A,"<>山田",Sheet21!B:B)
A列が「山田」では無い行のB列の値の平均値を出したいのですが、
これをaverageif関数を使わずに
=ArrayFormula(average(if( )))」で組むにはどうすれば良いでしょうか。
0079名無しさん@そうだ選挙にいこう
垢版 |
2019/05/08(水) 20:27:59.26
>>74
文字列になっているので作業列を使って日付型に直す

B1=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(
SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,
"(日)",""),"(月)",""),"(火)",""),"(水)",""),"(木)",""),"(金)",""),"(土)","")
,"年","/"),"月","/"),"日",""),"午前",""),"午後","")+IF(ISERROR(FIND("午後",A1)),0,1/2)

後はB列を基準に並び替え
0081名無しさん@そうだ選挙にいこう
垢版 |
2019/05/08(水) 20:50:33.70
日付を抜き出す式 =DATEVALUE(LEFT(A1,FIND("日",A1)))
時刻を抜き出す式 =TIMEVALUE(RIGHT(A1,LEN(A1)-FIND("午",A1)-1))+TIMEVALUE("12:00:00")*(SUBSTITUTE(A1,"午後","")<>A1)
日付+時刻は2つの答えを足し算するだけ
008374
垢版 |
2019/05/08(水) 23:37:51.02
>>79
>>81
ものすごく助かりました。
2日間悩んだのが嘘のようです。
Excelって奥が深いんですね
本当にありがとうございました<(_ _)>
008446
垢版 |
2019/05/09(木) 00:00:18.21
ありがとうございます。
End If
を付ければうまくいきました。
少しずつ勉強していきます。
008546
垢版 |
2019/05/09(木) 00:01:54.21
>>62
ありがとうございます。
End If
を付ければうまくいきました。
少しずつ勉強していきます。
0086名無しさん@そうだ選挙にいこう
垢版 |
2019/05/09(木) 00:57:45.82
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel365
【3 VBAが使えるか    .】
【4 VBAでの回答の可否】
私自身は365を持っていないのですが、365ユーザーに操作を聞かれて困っています。
「非表示にした行」は、どう操作すれば表示に出来るでしょうか?

ちなみにExcel2010での操作は、非表示にされている辺りの行をまとめて選択して、
(または名前ボックスから直接非表示行を"A55:A71"と言った具合に入力指定して)
”ホームタブ>書式>非表示/再表示>行の再表示”でした。
0087名無しさん@そうだ選挙にいこう
垢版 |
2019/05/09(木) 01:04:42.33
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
開いているIEを全て閉じ、特定のurlを開き、カーソル位置に文字を入力したいのですが、どう書けばいいでしょうか
文字入力はカーソルがアクティブになってればsendkeyでいけますよね?
0088名無しさん@そうだ選挙にいこう
垢版 |
2019/05/09(木) 08:30:19.26
>>86
>”ホームタブ>書式>非表示/再表示>行の再表示”でした。
どっちでもいいけど、右クリックの再表示の方が早くない?

あとこのスレ教えて上げればいいよ
誰かテキトーに答えてくれる

>>87
開いてるIEってエクセルから開いたIEオブジェクトの事?
それとも普通のIE?
後者だとかなりキツイ
0089名無しさん@そうだ選挙にいこう
垢版 |
2019/05/09(木) 08:38:19.01
フィルターかかってる行があるだけかもね
0090名無しさん@そうだ選挙にいこう
垢版 |
2019/05/09(木) 08:55:55.57
>>87
とりあえず前半だけ
IEを全部閉じる
後半は俺には高度すぎて無理だ

Sub CloseAllIe()
  Dim oSA As Object
  Dim oWT As Object
  Set oSA = CreateObject("shell.Application")
  For i = oSA.Windows.Count To 1 Step -1
    Set oWT = oSA.Windows(i - 1)
    If TypeName(oWT) = "IWebBrowser2" Then oWT.Quit
  Next
End Sub
0091名無しさん@そうだ選挙にいこう
垢版 |
2019/05/09(木) 18:28:23.01
>>88
前者で大丈夫です
自分でもgetelementbyidなるものでやってまたんですが原因不明のオートメーションエラーとやらが出てしまいました・・
0094名無しさん@そうだ選挙にいこう
垢版 |
2019/05/09(木) 23:49:40.00
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

[タブ1]ページ1,ページ2,ページ3
[タブ2]ページ1,ページ2,ページ3,ページ4
[タブ3]ページ1
[タブ4]ページ1,ページ2
[タブ5]ページ1,ページ2
 ・
 ・
[タブ20]ページ1,ページ2

このようなエクセルファイルがあり、
[タブ1]の全ページ、[タブ3]の全ページ、[タブ4]の全ページ、[タブ6]の全ページ、・・・[(タブ20ほどまである)]と、
印刷の必要のないタブは除いて、全ページ印刷を行いたいです。

[タブ1]をクリック→作業中のシートを印刷→[タブ3]をクリック→作業中のシートを印刷→[タブ4]をクリック→作業中のシートを印刷・・・とやると果てしない作業になってしまうので、なんとか「ブック全体を印刷」で印刷できるようにしたいのです。
(印刷の必要のないタブを消すと、計算式などが絡まっているらしく、他のタブに影響があるために消せません)

@[タブ2][タブ5]をあらかじめ「ブック全体を印刷」では印刷されないようにする操作などはありますでしょうか?
印刷範囲の設定、でできるかなと思ったのですが、印刷範囲を無くすことはできませんでした。

A印刷範囲を完全に消すことができないなら、ページ指定で「1-3,8,9-10」のように指定すればいいのでは、
と思ったのですが、2016では[]から[]までという入力しかできないようです。
不可能でしょうか?

Bどれをタブを印刷しますか?□タブ1 □タブ2 □タブ3 ・・・ みたいなのがでてきて、
これとこれとこれーとチェックいれたら印刷できるーみたいなのがあれば最高なんですが
そういうアドインとか機能はありませんでしょうか?
0095名無しさん@そうだ選挙にいこう
垢版 |
2019/05/10(金) 00:11:33.73
if(A1="","",○○)で空白が入力されたセルを更にcountifsで参照すると"<>"を空白と認識してくれません
if(A1="",0,○○)にして"<>0"なら認識するんですが
空白無理ですか?
009894
垢版 |
2019/05/10(金) 00:17:48.24
[タブ2]ページ1,ページ2,ページ3,ページ4
[タブ5]ページ1,ページ2
[タブx]ページ1,ページ2
[タブx]ページ1
-----いらないタブを前半にもっていって----
[タブ1]ページ1,ページ2,ページ3
[タブ3]ページ1
[タブ4]ページ1,ページ2
 ・
 ・
[タブ20]ページ1,ページ2

で、[タブ1]の最初のページ〜最後のページを印刷すれば
一気に印刷できてクリック数も減る気がしてきました。
・・・スマートですかねこれ
0102名無しさん@そうだ選挙にいこう
垢版 |
2019/05/10(金) 00:23:14.82
>>99
そこは統一されてると思う

>>100
あぁ、そうだ。作業列でcounta()でやってた
もしかしてcountifs()だと無理なのか

>>95
出来るかもしれないが、無理な気がする。
俺なら諦めて条件の数だけ作業列作ってしまうかなぁ
010394
垢版 |
2019/05/10(金) 00:29:15.62
すいません(´д`)
タブの中に不必要なページがなかったので、
印刷の必要がないセルを「非表示」にするだけで希望がかないました
お目汚しすみません
0104名無しさん@そうだ選挙にいこう
垢版 |
2019/05/10(金) 00:33:08.21
>>102
もう容量いっぱいいっぱいで
作業列追加するのもキツイかなぁというところです
空白認識できなければifを0にしてcountifsを"<>0"でやっとくのがいいですかね?
0108名無しさん@そうだ選挙にいこう
垢版 |
2019/05/10(金) 12:46:34.60
>>107
言葉足らずごめん
IE上で動いてるシステムでtabキーでリンクフォーカスしてenter押してもリンク先が開かないんだよね
spaceでもだめだった
0114名無しさん@そうだ選挙にいこう
垢版 |
2019/05/11(土) 01:40:47.08
前任者の作ったシートがやたら重くて不評で「どうして重いのか見て貰えないか?」と言われて直してるんですが、
全てのVLOOKUPをINDEXに変えたり、無駄に名前があるセルの名前を廃止したり、変える必要も無いセルで無駄に条件付書式で色換えするセルを廃止したりで
一応は軽くなったんですが
こういうのを見つけてしまいました

AA7〜AA900まで、前半は変動するZを使って居るんですが後半が全く同じ式
AA7=Z7*1.08*IF($A$2="2倍修正",2,1)

AA900=Z900*1.08*IF($A$2="2倍修正",2,1)

私の更に後任者になるだろう人に分かり易くするために、この後半のIF($A$2="2倍修正",2,1)を適当な作業セルAZ2辺りに移して

AZ2=IF($A$2="2倍修正",2,1)

AA7=Z7*1.08*AZ$2

AA900=Z900*1.08*AZ$2

としておくべきでしょうか?
同じ計算を893回もやっているのを1つに纏めるわけですから既にVLOOKPU廃止などで軽くなっているものの、もう少し軽くなるでしょうし、分かりやすくなる…と思うのですが…
どうでしょうか?
0115名無しさん@そうだ選挙にいこう
垢版 |
2019/05/11(土) 03:57:46.61
将来的にはマシンスペックが上がるから必要ないんじゃ?

それよりも「1.08」を設定セル作って一ヵ所直せば全てに反映されるようにすべき
0116名無しさん@そうだ選挙にいこう
垢版 |
2019/05/11(土) 07:49:23.49
いまどきのPCでたかだか1000行くらいで重いのは異常 昔は3000行あると重いなーということがあったもんだが
おそらく原因は条件付き書式の増殖 
0120名無しさん@そうだ選挙にいこう
垢版 |
2019/05/11(土) 12:12:28.35
>>119
ググった
index+matchのほうが結構早いんですね
しかし本質的に完全一致が遅い原因でそこを工夫するべきと
勉強になりましたサンクス
0121名無しさん@そうだ選挙にいこう
垢版 |
2019/05/11(土) 17:41:46.08
A列は固定の西暦(2019など)、B列に四桁の月日(0511など)C列に日数(60など)を入れて
D列に2019年5月15日の60日前を「何年何月何日」として
E列には同じように60日後を表示させたいんですがうまくいきません。

B列を年月日のデータにしてしまえば簡単なんですが、どうにかなりませんか?
0126名無しさん@そうだ選挙にいこう
垢版 |
2019/05/11(土) 22:24:21.92
>>125
多用したシートのファイル容量

あと、
1,2,3,4,5,6,7と並んでいるのを完全一致で検索するのはINDEXでも出来るが
2.7.9.10.13みたいな間が開いた数字を、以上以下で検索出来るのはVLOOKPだけ
0127名無しさん@そうだ選挙にいこう
垢版 |
2019/05/12(日) 00:12:02.34
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013 15.0.5049.1000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否(っていうか、VBA関係ないので)

5月を和暦で表示しても、H31.5.12などと表示されてしまい、
令和にならないのですが、どうしてでしょう?
Windows10の時計は令和対応になってますし、
レジストリにも令和が書き込まれているのですが。
再起動してもダメです。
Excelのバージョンが古いのかと思いましたが、
更新しようとしても、最新バージョンですと言われます。
0129127
垢版 |
2019/05/12(日) 00:54:12.26
↑すいません、取り消します。
やっぱ令和表示できなくていいです。
KB4495667のせいで、シート上に配置したコマンドボタンの位置が、
ありえないことになってしまったので、アンインストしました。
0131名無しさん@そうだ選挙にいこう
垢版 |
2019/05/12(日) 13:10:40.15
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

この上の画像のシートに入力して下のシートの領収書作りたいんですけど、
下の#NEME?のところに関数入れてその横の"2"のところに数字入れると、リストの2行目を参照するみたいなの作りたいんだけど、#NEMEのところにどんな関数いれれば良いか教えて下さい
というか関数でできますか

https://i.imgur.com/371l4bZ.jpg
https://i.imgur.com/GCr4fmE.jpg
0132名無しさん@そうだ選挙にいこう
垢版 |
2019/05/12(日) 13:21:36.39
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Office 365 Solo
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

図形で直線と四角・丸はコネクトできますが
直線同士でコネクトさせる方法をお聞かせください
0133131
垢版 |
2019/05/12(日) 13:25:44.29
できればoffsetの関数を使ったやり方教えて下さい
0135名無しさん@そうだ選挙にいこう
垢版 |
2019/05/12(日) 16:39:06.18
>>131
そういう数式はM1セルに入れるんじゃなくて、A5とかM6に書いた方がいいんじゃない?
それともアドレスを文字列で作ってINDIRECTとか使うつもりだったりする?

とりあえず
A5 =OFFSET(Sheet1!A1,N1,3)
M6 =OFFSET(Sheet1!A1,N1,2)
E9 =OFFSET(Sheet1!A1,N1,4)

みたいな感じでいいんじゃないかな
0136131
垢版 |
2019/05/12(日) 17:46:23.51
>>135
なるほど。offsetの使い方勘違いしてました。勉強になります。
ありがとうございました。
0137名無しさん@そうだ選挙にいこう
垢版 |
2019/05/12(日) 18:01:51.87
>>132
> 直線同士でコネクトさせる方法をお聞かせください
直接は無理じゃねーの?
俺はダミーの透明図形(例えば○)を置いて各々それに接続してる
0138名無しさん@そうだ選挙にいこう
垢版 |
2019/05/12(日) 20:19:10.60
日付1-1(例:1992/10/1 0:00:00) 値1 値2 値3
日付1-2(1992/10/1 0:01:01)
日付1-3


日付1-1000
日付2-1
日付2-2
日付2-3


日付2-1000

1日の中で数秒刻みに値が記録されているシートがあるのですが
グラフを生成しようとするとパフォーマンス的に出力し切れなかったので
日別(各日記録された先頭の1行だけを抽出(時間以下は切り捨て)シートを作成したいです
どのように行えば良いでしょうか
0142名無しさん@そうだ選挙にいこう
垢版 |
2019/05/12(日) 23:38:02.53
>>141
そうすると、テンキーのないキーボードでnumlockが他のキーと兼用になっている場合、マウスキー機能を有効にする場合はshift +alt +numlock +fnだ思うんだけど、sendkeyじゃ対応できないですか?
ちなみに>>110です
マウスキー機能ならあるいは・・と思いついてみたけどダメですかね
0144名無しさん@そうだ選挙にいこう
垢版 |
2019/05/12(日) 23:48:51.09
すでに開いている IEのリンクをvbaでクリックしたい
→getelementbyid等はどうしても理解できなかったし上手くいかなかった→
tabキーを適当な回数押して該当箇所にフォーカスした状態でenter押すようにsendkeyしよう→
なぜかフォーカスenterができないページだった(>>109)→
マウスキー機能使えば行けるんじゃないか→
マウスキー機能に入るためのキー操作shift+alt +numlock +fnで躓く
素人丸出しでごめんなさい
0148名無しさん@そうだ選挙にいこう
垢版 |
2019/05/12(日) 23:59:38.98
>>145
社内システムの仕様が絡むので説明しづらいんですがgetelementbyidが厳しそうなんですよね、二窓以上で開くとすぐログイン競合とみなされてログアウトするとか
0149名無しさん@そうだ選挙にいこう
垢版 |
2019/05/13(月) 07:18:33.20
>>144
マウスキー機能なんてあったのか、知らなかった
fnは関係ないな。
shift+alt +numlockをsendkeyで送るだけでいいはず

getelementbyidと二窓以上は関係ないよ
0150名無しさん@そうだ選挙にいこう
垢版 |
2019/05/13(月) 07:33:02.21
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel365
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可

列でなく、行にフィルターつけれませんか?
0152sage
垢版 |
2019/05/13(月) 15:59:11.26
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

西暦から会期を求める関数を教えてください。
会期は2月21日から翌年2月20日で

セルA1が「2018/1/11」ならB1に「2017年度」
セルA2「2018/4/3」ならB2に「2018年度」

と表示させるためのB列の関数を教えてください。
0157名無しさん@そうだ選挙にいこう
垢版 |
2019/05/13(月) 19:57:03.64
質問ですがご回答よろしくお願いします
【1 OSの種類         .】 Windows8
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

VBAやマクロが使えないので関数で抽出したいのですが

     列  A     B
行 1    A商店  750円
   2    B商店  600円
   3    C商店  650円

このような場合一番安い値段を提示している「B商店」を抽出したいのですがやり方が分かりません
値段ではなくあくまでも「B商店」と出したいのです
処理的にはまずB行から最安値を探し、その次にA行の同列の「B商店」を抽出する
やりかた分かる方いれば教えてください。
よろしくお願いします。
0159名無しさん@そうだ選挙にいこう
垢版 |
2019/05/13(月) 20:42:12.67
>>158
ありがとうございます
その数式を当てはめてみたんですがブックに「循環参照が見つかった為〜」とエラーが出てしまい0になってしまいました
できれば同じ数字がある状態でできないでしょうか?
同じ数字がある場合は一番上の列のお店を出るようにしたいです
よろしくお願いします
0161名無しさん@そうだ選挙にいこう
垢版 |
2019/05/13(月) 20:48:02.73
>>158
すごいできました
すみませんその数式をコピーして貼り付けただけだったのでエラーがでてしまいました
列番をいれてみたらちゃんとB商店とでました
ありがとうございます
さすがです!
0164名無しさん@そうだ選挙にいこう
垢版 |
2019/05/14(火) 10:15:18.67
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 全コピペでいけるなら可

ブックの最初の形式としては、『1』と『テンプレート』のシートが1枚あります。
2日以降はテンプレートのシートをもとに今日までのシートを自動で追加作成したいです。
今日14日に開いたときは1〜14の名前のシートがある状態にしたいのです。
・1日に開いたら『1』のシートだけある。
・5日に初めて開いたら『2』〜『5』のシートを自動で追加作成。
・5日に一度開いて保存して10日に開いたら『6』〜『10』のシートを自動で追加作成。
というイメージです。
どうやればよいでしょうか?
0165名無しさん@そうだ選挙にいこう
垢版 |
2019/05/14(火) 10:33:05.39
>>164
workbookに記述

Private Sub Workbook_Open()
For i = 1 To Day(Date)
'シートの有無確認。あればtrue
flag = False
For Each ws In Worksheets
If ws.Name = i & "" Then '文字列で比較
flag = True
Exit For
End If
Next

If flag Then
'none
Else
'シート作成
Set シート = Sheets.Add(After:=Worksheets(Worksheets.Count))
シート.Name = i
End If
Next
End Sub
0166名無しさん@そうだ選挙にいこう
垢版 |
2019/05/14(火) 12:28:05.26
A1〜C3までを範囲として、
1 2 3
4 5 6
7 8 9
のように数字が並んでいて、
sendkeys A1
sendkeys B1
sendkeys c1
をひとまとめ、
sendkeys A2〜を二まとまりめ、
という形で飛ばしたいと思ってます
範囲はもっと下まで行くこともあるので最終行の取得は必須だと思いますが、どう書けばいいでしょうか
0170名無しさん@そうだ選挙にいこう
垢版 |
2019/05/14(火) 18:58:55.46
>>166
https://dotup.org/uploda/dotup.org1847293.xlsx.html
東京・大阪・北海道の各出発時間・到着時間を黄色い部分に「sendkeysで」、「それぞれ東京・大阪・北海道の順序を守って」入力したいです。
実際にsendkeysでキーを送るのはブラウザ上のフォームであるため、順序等が変更できません
また入力するのが東京・大阪・北海道だけでないかもしれないので、記載してある行すべてというイメージでお願いします
0175名無しさん@そうだ選挙にいこう
垢版 |
2019/05/14(火) 23:13:34.84
好きって言うか、本当はVisual Studioが良いんだけど、
会社のPCに入ってないので、仕方なくExcel。
でもまあExcel使わせてもらえるだけいいわな。
中には、Calcにされちゃったところもあるだろうし。
0176名無しさん@そうだ選挙にいこう
垢版 |
2019/05/15(水) 00:30:37.64
【1 OSの種類        .】 Windows8
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 始めたばかり
【4 VBAでの回答の可否】 可

すみません教えて下さい

VBAでワークシートに設置したボタンを押すと、指定したセルに記載してあるワークシートを読み込み
そのワークシートの複数の範囲を再計算をするプログラムが分かりません。
再計算の理由は演算式を消したいからです。
また、sum等の関数で求めた値を再計算すると3.2000000038のようになるのですが
表面だけではなくちゃんと3.2の値にしたいと思います。
よろしくお願いします
0177名無しさん@そうだ選挙にいこう
垢版 |
2019/05/15(水) 02:21:40.68
>>176
きっちり3.2にするには、数式を見直して、目的に応じて書き変える必要がある
元のデータや計算の目的などがわからないと回答できない
0179名無しさん@そうだ選挙にいこう
垢版 |
2019/05/15(水) 07:50:30.69
>>176
再計算は
calculate
一行入れれば行われる

>再計算の理由は演算式を消したいからです。
よくわからない。再計算で式は消えたりしない

>sum等の関数で求めた値を再計算すると3.2000000038のようになる
これは小数誤差。再計算は関係ない
エクセル 小数誤差 などで検索
解決方法は数式を変えるか、vbaで適当に四捨五入するしかない
0180名無しさん@そうだ選挙にいこう
垢版 |
2019/05/15(水) 08:14:04.82
>>177
>>179
親切の方ありがとうございます
ヒントを頂きましたので自力でやってみます
0181名無しさん@そうだ選挙にいこう
垢版 |
2019/05/15(水) 08:53:57.22
>>175
> 中には、Calcにされちゃったところもあるだろうし。
まともな会社とか組織ならほぼないだろ
一時的に移行したところも結構Officeに戻ってるみたいだし最近は話題にもならないw
アシストですらOpenOfficeとかLibraの扱いやめてるし
0185名無しさん@そうだ選挙にいこう
垢版 |
2019/05/15(水) 15:29:39.33
Win10 office365 VBAちょっと使える、可能

Excelで商品の在庫管理したいんですが、マスターコードのシートを作るのがめんどくさいです
バーコードリーダーで読み取ったJANコードをネットで検索して商品名セルに入れてくれるvbsとかありませんか?

スマホアプリは多数ありますがExcelやaccessでは見つからないです
0189名無しさん@そうだ選挙にいこう
垢版 |
2019/05/15(水) 21:38:46.95
【1 OSの種類 】 Windows7
【2 Excelのバージョン】 Excel2013
【3 VBAが使えるか】はい
【4 VBAでの回答の可否】 可

グラフで項目軸に複数のデータを指定した時
(例えばA列に日付、B列に曜日、C列に天気、D列に気温)
上から順に気温、天気、曜日、日付と表示されてしまいます
列の並びはそのままで日付が上に来るように出来ますか?
0190名無しさん@そうだ選挙にいこう
垢版 |
2019/05/15(水) 22:28:12.92
>>17
その一般的なJAN一覧ってのが無料ではほとんど存在しない
スクレイピングやりすぎるとあっというまにブロックされるし、
会社ならシステムに言ってデータ貰ったほうが早い
0192名無しさん@そうだ選挙にいこう
垢版 |
2019/05/16(木) 08:39:08.62
質問です。
セルにある改行ありのテキストをコピペした場合

ああああ
あああああ
あああああ

をコピペすると

"ああああ
あああああ
あああああ"

と出力されてしまいます。F2押してshift+↑で全てを選択してからコピーすればそれはさけられますが、面倒です。
F2でセルに入らずともうまくコピペしたいのですが、何かよい方法はございませんでしょうか?
0194名無しさん@そうだ選挙にいこう
垢版 |
2019/05/16(木) 10:17:48.19
質問です。
さっそくvbaでやってみましたがこの改行ありのテキストをコピペした場合

ああああ
あああああ
あああああ

をコピペすると

ほほほほ
ほほほほほ
ほほほほほ

と出力されてしまいます。F2押してshift+↑で全てを選択してからコピーすればそれはさけられますが、面倒です。
うまくコピペしたいのですが、何かよい方法はございませんでしょうか?
0196名無しさん@そうだ選挙にいこう
垢版 |
2019/05/16(木) 15:52:43.27
どなたかお願いします

横軸に時間、縦軸に項目名いれ、項目名がどの秒数ででてきたかをプロットされたグラフを作りたいです。
例ですが、各項目(あかとあお)が出てきた秒数を
あか 30 124 246
あお 154 300 540
などの形式で記録しているのですが、うまく図にできません。
特に縦軸に自動で数字がふられてしまうのですが、縦軸を項目名にするにはどうしたらようでしょうか
0198名無しさん@そうだ選挙にいこう
垢版 |
2019/05/17(金) 23:45:41.59
エクセルに画像をリンクで管理することはできませんか?
エクセルに画像を入れていくとどんどんファイルが重くなっていくので、
画像をエクセルに埋め込みではなくリンクで管理できればなと・・・
0205名無しさん@そうだ選挙にいこう
垢版 |
2019/05/19(日) 22:20:12.87
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

凄く初歩的ですが質問です。
セルA1に金額、セルB1にプルダウンで”空白”"税込""税抜"のリストを作り、セルC列に"税込"だった場合の
金額(税額だけ)を自動入力するようにするにはVLOOKUPでいいのでしょうか?またその際の式が分かりません
どなたかお願いします。
0206名無しさん@そうだ選挙にいこう
垢版 |
2019/05/19(日) 22:28:07.73
郵便番号や日本の住所から英語の住所に変換する方法ありますか?
一括でです
0210名無しさん@そうだ選挙にいこう
垢版 |
2019/05/19(日) 23:03:11.08
>>209
D1セル、D2セルにそれぞれ
税率(%)、8

と入れておいて

データが始まるC2に
=if(B2<>"税込","",A2*$D$2/(100+$D$2))
と打ち込んでドラッグかダブルクリックで表の限りコピーでどうでしょう

税率変わったらD2セルを書き換えてください


表示の中にあるウインドウ枠の固定
というところで1行目がずっと見られるようにしたり、

ページレイアウトの中にある印刷タイトルの設定というところで1行目を選択すると、何枚印刷するときでもタイトルが印刷されて便利ですよ


自動で少数以下を切り捨てしたデータを出すなら
if(B2<>"税込","",ROUNDDOWN(A2*$D$2/(100+$D$2)),0)
表示で見えなくするだけなら表示の中の表示形式から
021446
垢版 |
2019/05/20(月) 12:59:35.48
以前>>46で質問した者です。
教えて頂いたマクロのおかげで運用出来ているのですが、コピー元のソフトやその設定によって
当てはまらないパターンが出てきましたのと、更に間違い防止の策を追加したいので、変更の仕方を教えて頂けますとありがたいです。
現在運用しているマクロは
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row = 35 And Target.Column = 8 Then
On Error Resume Next
flg = Target.Value
flg = Split(flg, ",")(2)
flg = Replace(flg, ")", "")
flg = Replace(flg, " ", "")
If flg = "25.000000" Then
Call Macro5
ElseIf flg = "0.000000" Then
Call Macro4
Else
Call Macro6
End If
On Error GoTo 0
End If
End Sub     です。

@数値の前にマイナスがあるときは、マイナスを無視してほしいのと
例  中心(ワーク)( 0.000000, 0.000000, -0.000000 ) など
Aカンマが無い場合
例   0.000000 0.000000 25.000000  など
B最後に”マクロ7”を実行したい場合ですが、最初と真ん中の数値が0ではない場合
例   中心(ワーク)( 70.000000, -5.000000, 0.000000 )  などです。

長文になりまして申し訳ございませんが、よろしくお願いいたします。
0215名無しさん@そうだ選挙にいこう
垢版 |
2019/05/20(月) 14:15:28.66
>>208
でも英語の並びに統一感ないですね
0216名無しさん@そうだ選挙にいこう
垢版 |
2019/05/21(火) 10:49:25.48
>>204ですが、どうぞよろしくお願い致します。
0217名無しさん@そうだ選挙にいこう
垢版 |
2019/05/21(火) 11:54:34.05
>>208
わたしの家の住所がなぜ?
0218名無しさん@そうだ選挙にいこう
垢版 |
2019/05/21(火) 18:12:12.71
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

A列には人名があります。
別シートからデータを引っ張ってきており、値としては=""の0文字データも含まれます。
そのA列の中で1文字以上あるデータ数のみをカウントしたいのですがどうすればよいでしょうか?
0219名無しさん@そうだ選挙にいこう
垢版 |
2019/05/21(火) 18:21:04.93
>>218
B列に、データの始まりから終わりまで1っていう数字を入力

1行目に行の挿入をおこない、A1に人名、B1に紐とでも入力

A1とB1にデータからオートフィルターを設置

A1の▼を押して、空白からチェックを外すと、下側のバーに対象である文字が入力されているデータ数が表示されている
0221名無しさん@そうだ選挙にいこう
垢版 |
2019/05/22(水) 20:42:07.23
御助力、お願い致します。
仕事場で別の課から送られてきた情報をまとめなければならないのですが、何か上手な手は無いかと思い相談に来た次第であります。
「○○時間○○分」と一つのセルにかかれているのがズラリとあり、縦と横で合計を出さなければなりません。
それぞれ何十も行と列があるので、一つひとつ作業してはミスが出る可能性もあると考えると……。
何卒、宜しくお願い致します。
0222名無しさん@そうだ選挙にいこう
垢版 |
2019/05/22(水) 21:07:33.01
>>221
時間のセルをSUMで合計すれば一発!
0223名無しさん@そうだ選挙にいこう
垢版 |
2019/05/22(水) 21:10:53.01
>>222
SUMが機能しないんです……多分、時間や分という数字以外が入っているのが問題なのかなと。
オリジナルユーザー定義で「○○時間○○分」を「○○:○○」に変えようとしているのですが、それもうまくいきません……。
0226名無しさん@そうだ選挙にいこう
垢版 |
2019/05/22(水) 21:36:39.94
実際のファイル見ないとなんともいえないな。
subsutitute関数やtimeなんとか関数をいろいろ組み合わせてやればできそうだけど。
0227名無しさん@そうだ選挙にいこう
垢版 |
2019/05/22(水) 21:44:57.99
>>224だけど試した
やっぱり時間を「:」に置換
分を「」空白に置換
A1に1時間30分と入力されてた場合に1:30に置換される
A2に=VALUE(A1)で0.063194とシリアル値が出るから計算出来るようになるよ
0229名無しさん@そうだ選挙にいこう
垢版 |
2019/05/22(水) 22:04:54.33
>>224->>227
置換という方法を初めて知りました……本当に有り難うございます!
おかげさまで問題なく計算ができた様です!
本当に、本当にありがとうございました!
0231名無しさん@そうだ選挙にいこう
垢版 |
2019/05/22(水) 23:07:28.01
>>221
>仕事場で別の課から送られてきた情報をまとめなければならないのですが

その、まとめるという発想自体やめた方が良いと思う。
ウチもその発想の人が多くて困ってるんだけど、
共有モードのエクセルか、Googleスプレッドに直接書き込んでもらった方が良いよ。
0233名無しさん@そうだ選挙にいこう
垢版 |
2019/05/23(木) 07:01:04.27
>>231
> 共有モードのエクセルか、Googleスプレッドに直接書き込んでもらった方が良いよ。
ないわー
他の人の場所に間違えて書く奴とかが続出して破綻する未来しか見えないw
0235名無しさん@そうだ選挙にいこう
垢版 |
2019/05/23(木) 12:37:38.33
>>233
版をかさねられて、取捨選択できるんじゃなかったっけ?
0236名無しさん@そうだ選挙にいこう
垢版 |
2019/05/23(木) 16:21:19.75
シート1
A(ID)  B
101 
102
103
シート2
A(ID)  B
102 1000
104 1500
とありまして、シート2のB列の値をシート1B列に入れたいのですが
シート1のB列にVLOOKUPを使うと、シート2の104のような
該当しないデータが拾えなくて困ります。
なにかよい方法がありますか?
0237名無しさん@そうだ選挙にいこう
垢版 |
2019/05/23(木) 16:39:23.48
>>236
意味がよく分かりません。
該当データがないなら拾えなくて当然なので、その場合どうするか決めないと。
空白にするのか、それ未満で近い値を参照するのかとか。
0238名無しさん@そうだ選挙にいこう
垢版 |
2019/05/23(木) 18:11:19.67
>>236
シート2のC列に
if(シート2のID="","",
countif(シート1のA:A,IDのセル)×countif (シート2のA:A,IDのセル)
という関数を仕込んでおきます

シート1 C1に、
product(シート2のC:C)
と入れます

すると、C1が
1のとき シート2にある全データ引用できているよ
0のとき 足りないデータがあるよ!
2以上のとき IDが重複しているよ!

という判断ができます

ifで空白のとき計算を止める理由→空白をカウントして大きな数を返すのを防止
0239名無しさん@そうだ選挙にいこう
垢版 |
2019/05/23(木) 19:28:36.97
>>238
なるほど。面白いですね。
抜けだけでなく重複まで想定するとは素晴らしいです。

>>237
こういうちょっとしたテク?が知りたかったんです。すいません。
0240名無しさん@そうだ選挙にいこう
垢版 |
2019/05/23(木) 20:04:09.52
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】いいえ

シート1に住所録(a列は郵便番号b列は住所…などとわけてあります)
郵便番号、住所、アパート名、肩書き、名前を列でわけてあります

住所録に入力した項目がシート2と連動して、シート2で宛名シールができるようにしたいです

Wordを使って差し込み印刷にすればシート2が不要なのはわかりますが、使う人からの依頼なのでそれは使わないやり方を探しています

セルの幅を住所などの大きさに合わせながら基本の形を まず作りました

そこに1つひとつイコールで参照する形で地道に作っています

それ以外に方法はないでしょうか?

2列1行作り、下にコピペしたら住所録が参照されて勝手に数字が入ったのですが、1つ1つ上から全部ではなくてよくわかりません

もうひとつ困ったことがあります

市町村名の長さがいろいろで、1つのタブに入り切らないのがあるので、「縮小して全文表示」にすると、次に続くフォントが合わなくなります
0241名無しさん@そうだ選挙にいこう
垢版 |
2019/05/23(木) 20:47:42.57
>>240
かなり手間をかければなんとかその時だけは使えるものができるかもしれないけど、基本的には難しいと思います。
ExcelはそういうソフトではないのでWordを使ってくださいと断るべき。

タブというのは、セルのこと?
縮小するか、折り返すか、分割するかしかないと思います。
次に続くフォントが変わるの意味がちょっとわかりません。
0242名無しさん@そうだ選挙にいこう
垢版 |
2019/05/23(木) 20:48:18.85
>>240
1シートでa4が1枚できるつもりで話をします。また、印刷用の部分は横書きを想定しています
印刷用シートで2枚取りのときは、繰り返していい感じにしてださい

準備1
シート1の住所録の左側に10、11、12、13…と 通しナンバーを振っていきます(10から開始が大事)

準備2
印刷用シートに、2列、列を挿入します
中身を入れる行のA列には下記の数式を入れます、完全コピペでいいです
=RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))
B列には0と入れます

シート名を1と名付けると
1、0
という部分がA列とB列にできましたねね?

準備3
印刷用シートの引用すべき部分に、
=index(B:B、MATCH(value(シート名のセル&その横のセル) 住所シートの$A,$A,0))
という式を入れていきましょう
&で繋がって作られた10という数字をもとに郵便番号や、アパート名がインデックスMATCHで引用されましたね
うまく設定できたら、F4キーを押して、 $A$6、のように絶対参照にしましょう

準備4
印刷用で設定した紙を10個下にコピーします印刷用シートで印刷をかけると、10枚印刷できるようにしておきます
B列の数字をうえから、0、1、……9と打ち込みます

ここまできたら、シートを次々コピーしていきシート名を2、3、4……と名付けていきましょう

シートを増やすたびに10個の印刷セットができますね
0243名無しさん@そうだ選挙にいこう
垢版 |
2019/05/23(木) 20:48:52.82
>>240
>そこに1つひとつイコールで参照する形で地道に作っています
>それ以外に方法はないでしょうか?
A列に通し番号を入れてvlookupで参照するか、
F列に通し番号を入れてindex+matchで参照する
indirectでもいいけどめんどい

>市町村名の長さがいろいろで、1つのタブに入り切らないのがあるので、「縮小して全文表示」にすると、次に続くフォントが合わなくなります
全体的に最初から小さめにしておけば違和感が無い
0244名無しさん@そうだ選挙にいこう
垢版 |
2019/05/23(木) 20:49:53.45
文字数が多いとき改行したいなぁというときは
長い文字が出る部分に

=left(index(B:B、MATCH(value(シート名のセル&その横のセル) 住所シートの$A,$A,0)) 、20)

とでも入れましょう 、文字数の20は適当です
そして、その下のセルに

substitute(index(B:B、MATCH(value(シート名のセル&その横のセル) 住所シートの$A,$A,0)) 、上のセル、"")
という関数を入れると

上のセルで溢れた中身が改行されて下に表示されます


substitute(元の文字列、上のセルで取り出されたn文字、"")

で溢れたセル内文字を改行をしてしまうわけですね

どうでしょうか
0246名無しさん@そうだ選挙にいこう
垢版 |
2019/05/23(木) 21:56:17.80
>>241
タブではなくセルでした、すみません
>>242
おれいが遅くなりすみません。今実際に作ってみましたそのままコピペで
印刷用シートのA1に入れてみましたが#バリューとなってしまいました
ちょっとそこから先も私には高度過ぎてできませんでした
せっかくここまで丁寧に教えていただいたのにほんとに申し訳ないです。

もう少し時間をかけて教えていただいたこと試してみますね
0249名無しさん@そうだ選挙にいこう
垢版 |
2019/05/23(木) 23:20:13.11
>>248
なんて親切な方!
引き続きまだ勤務中で泣きそうでした
ありがとうございました。
ほんとに心から感謝します
あなたにいいことがありますように
0251名無しさん@そうだ選挙にいこう
垢版 |
2019/05/24(金) 08:36:19.12
>>249
良い忘れてた
C1の「1」は開始のインデックスになる
3とか4とかテキトーに変えたらそこから始める事が出来る

>>242
あんまり他人の回答にケチつけるのは好きじゃないんだけど、
なんぼなんでもめんどくさすぎるやろこれ
0252名無しさん@そうだ選挙にいこう
垢版 |
2019/05/24(金) 18:36:21.45
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

VBAでの処理についての質問です。よろしくお願いいたします。

非表示シートを シート名.visible=true で非表示解除するとき、
そのシートをアクティブにしたくないのですが、方法はありますか?
印刷等をさせるために一時的に表示しなくてはなりませんが、ユーザーからすると
一瞬だけ画面が切り替わるのがうっとうしいのです。

アクティブにせず、裏の方でかってに非表示解除させる方法はないでしょうか?
0254名無しさん@そうだ選挙にいこう
垢版 |
2019/05/24(金) 18:54:43.03
>>252
selectとかactiveナシで処理してみては?

Sub Macro1()
Set target_sheet = Sheets("foo")
target_sheet.Visible = False
target_sheet.Visible = True
target_sheet.Cells(1, 1) = 1 '空シートだと印刷できないのでテスト用に入力
target_sheet.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
End Sub

>>253でもいいけど、
再計算とかちゃんとされるかどうかまでは保証できない。
上記コードも正直、100%うまく行く自信がない(コード自体は100%間違いないが、Excelの自由奔放な挙動を信用できない)
個人的には正確性を担保するために表示が切り替わると伝えるかな
0257204
垢版 |
2019/05/25(土) 00:05:29.88
>>228
2019をゲットできますか?
0260名無しさん@そうだ選挙にいこう
垢版 |
2019/05/25(土) 18:38:06.12
>>258
パワークエリー、または2016以降のクエリで
2列を使ってテーブルのマージってできる?

例えば、元テータベースには商品コードと手配先コードがあって

商品A 手配先1025 単価 105円
商品A 手配先2135 単価 103円

というテーブルから
A 2135
という2行をキーに単価をとってこれる?
0261名無しさん@そうだ選挙にいこう
垢版 |
2019/05/25(土) 18:53:18.66
>>260
ごめん、2013で直接書く方法しかわからないけど、
↓こんな感じのを、2016のGUIで表現できれば、多分。

Select *
From テーブル
Where 商品 = A And 手配先 = 2135
0262名無しさん@そうだ選挙にいこう
垢版 |
2019/05/25(土) 20:29:57.74
どうやったら年月単位でガントチャートグラフ化出来るの?
こんなふうに↓

   2004/5     2004/11     2005/5    2005/11
     │        │        │        │
■■■■■■■■■■
      ■■■■■■■■■■
                  ■■■■■■■■■■
0265名無しさん@そうだ選挙にいこう
垢版 |
2019/05/25(土) 21:08:43.49
>>264
運用すると大体ロクでも無い様々な要望が来る上に、想定外の運用をして修正アンド修正になる
ガントチャートの修正は数式よりも遥かにキツイ

殺意が沸いたのはこれ
理由は「行が長すぎるから」
もう一生やらん

   2004/5     2004/11     2005/5    2005/11
     │        │        │        │
■■■■■■■■■■           ■■■■■   ←ここに入れれるようにして、最終が自動的にキッチリ合うようにしてほしい
      ■■■■■■■■■■■■■■■■■■
                  ■■■■■■■■■■
0266名無しさん@そうだ選挙にいこう
垢版 |
2019/05/25(土) 21:26:24.66
>>262
1セルを1ドットにして■をどんどん書かせるのであれば

=if(and(上側日付のセル 列$行>プロジェクト開始日 $列行、プロジェクト終了日>上側日付のセル),"■","")

というようにしておく

日付のところは
2004/5/1 というシリアルの日付にしておいて
表示形式を yyyy/m (正確な表現忘れた)
にしておけば、>による条件が効く

日付は、(横のセル+7)で書かせていったら週単位のガントチャートになるかな?
month 関数を使って、月が変わるセルだけを黒文字にするように条件付き書式を使ったり
0268名無しさん@そうだ選挙にいこう
垢版 |
2019/05/25(土) 22:53:36.85
>>267
吹いた
まぁガントチャートなんて一生懸命作っても本当に無駄、先人の失敗(落ち度はないけど)を繰り返すな
とりあえず落ちてるもん使え
0270名無しさん@そうだ選挙にいこう
垢版 |
2019/05/26(日) 00:42:30.37
今なら
「ラクテンスーパーポイントスクリーン」
登録するだけでRポイント150pが貰える!

※Androidアプリのみ
iPhoneユーザーはWeb版から登録のみ可能

登録完了後に表示される招待コ一ドをお持ちですか?のところで
「i9WPjs」
を入力する

完了

祭りだ♪ヽ('∀')メ('∀')メ('∀')ノワッショイ
027146
垢版 |
2019/05/26(日) 22:16:23.88
>>234
返信遅れて申し訳ありません

置換とは貼り付けるセルの入力規則などを設定するのでしょうか?
詳しく教えていただけますと助かります。

マクロ7を実行したいのは、基本的に(最初 中間 最後)の最後以外は0.000000でないとおかしいので、それ以外の数値がある場合エラーメッセージとしてマクロ7を実行させたいと思っています。

もしよろしければご教授願います。
0272名無しさん@そうだ選挙にいこう
垢版 |
2019/05/26(日) 22:57:00.61
>>271
遅れるな、内容忘れる
置換はvbaで行う
もうちょっとマクロ覚えてみたら?
次から次へ例外出てくるだろうから、自分で対処できないと無理が生じるぞ
0273質問
垢版 |
2019/05/27(月) 09:34:46.68
【1 OSの種類         .】 Windows8
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 勉強中
【4 VBAでの回答の可否】 可

VBA のスレが見つからなかったのでこちらで失礼します

複数の別フォルダにある同一フォーマットの一覧をマージするVBAでつまずいています

@フォルダーA
集計ファイル.xlsm
シート名 集計

AフォルダーB _グループA
成果表グループA.xls

B フォルダーB _グループB
成果表グループB.xls

ABの特定の項目を@に集約したいです。
ファイル(グループ)と成果表の成果結果は増えていきます。

@に集約シートとファイル名一覧のシートを作成しました。
ファイル一覧のファイルを順番に開いて値があるところまでコピーし@の集計シートに順番に貼り付けたいのですがどのようにすれば良いでしょうか

do until でファイル名が空白としましたがマクロが止まってしまいます
0276名無しさん@そうだ選挙にいこう
垢版 |
2019/05/27(月) 18:16:11.53
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】否


関数を教えてください。

A1の数字を参照して、B1に使う関数です。B1は連番で
数字の0〜9、アルファベットA〜Zを使って、5桁になります。
ただしアルファベットのI(アイ)とO(オー)の2文字だけ使いません。

文字は↓の順で繰り上がります。
0→1→2→3→4→5→6→7→8→9→A→B→C→D→E→F→・・・・Z

例えると
00001→・・・00009→0000A→・・・0000Z→00010

000ZZ→00100

と言う感じで繰り上がります。

そこで、例えばA1の値が「1」であればB1に「00000」と表示して
A1の値が「1000」であれば、B1は「000VD」
A1の値が「91573」であればB1は「02B7A」
と表示する関数を教えてください。
0277名無しさん@そうだ選挙にいこう
垢版 |
2019/05/27(月) 18:31:52.37
>>276
関数はないかもしれないけど、countifでZの登場回数数えて、リストを組み合わせて&結合してその表作れそう


数字いくつまで数え上げたらいい?
0279276
垢版 |
2019/05/27(月) 18:48:56.41
>>277

最大値はA1が「1,544,804,416」でB1が「ZZZZZ」になるかと思います。
0280276
垢版 |
2019/05/27(月) 18:51:05.88
>>278

アルファベットはO(オー)とI(アイ)を除いた34進数でお願いします。
0281276
垢版 |
2019/05/27(月) 19:02:30.50
すみません間違えました。

最大値はA1が「45,435,424」でB1が「ZZZZZ」でしたm(_ _)m
0287名無しさん@そうだ選挙にいこう
垢版 |
2019/05/27(月) 23:02:34.08
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

働き方改革の対応で、翌月は何時間残業出来るのかを
算出、表示出来るようにしたいです。

作り始めたのですが、以下の画像の状態で躓きました。
https://imgur.com/ChNh5j8
画像のP3:P8へ何時間残業出来るか表示させたいのですが
現状のままだと月が進むにつれて表示させるセルや計算範囲を手動で変えないといけないです。
自動にする方法や、他に良い方法があれば知りたいです。

VBAの知識はググりながらマクロ記録を多少変えれる程度です。

ご教示よろしくお願い致します。
0288名無しさん@そうだ選挙にいこう
垢版 |
2019/05/27(月) 23:33:53.85
>>287
その残業計算結果表示セルは、D列に挿入しておくべき


計算範囲の変更は

average(offset(MATCH(,,)、-5))
とか使って、今日の月を示すセルまでの距離をMATCH関数で返したらいいのでは

範囲を答えとして返すoffset関数で計算しよう
0289名無しさん@そうだ選挙にいこう
垢版 |
2019/05/27(月) 23:38:16.47
>>287
予め出来上がった表に数字いれるのは、かなり面倒です。
発想を変えて、毎月全消去して、自動で書き直す処理にした方が楽ですよ。
0290名無しさん@そうだ選挙にいこう
垢版 |
2019/05/27(月) 23:42:06.28
よくわからんが、なぜ範囲を毎月変えて計算しないといけないんだろう 
AVERAGEは数値のないセルは除外して平均値出すから範囲を変える必要はないのでは
0291名無しさん@そうだ選挙にいこう
垢版 |
2019/05/28(火) 00:17:04.34
範囲を変えるのは、当月(翌月)から過去○か月間の平均を出すから、ということなら
12か月分あらかじめ監視式をつくっておくという手もある 力技だが12個つくるだけだし
029246
垢版 |
2019/05/28(火) 00:32:33.75
>>272
ありがとうございます。
なかなか時間がとれないですが、少しずつ勉強して行こうと思っています。
またよろしくお願いします。
0293名無しさん@そうだ選挙にいこう
垢版 |
2019/05/28(火) 12:32:43.85
1 Windows7
2 Excel13
3 いいえ
4 使わないと解決しなさそうな場合は可

C2→ドロップダウンにより、西暦、令和、平成、昭和から選択
D2→20190501や、310401、10501など
日付に相当する値を入力
E2に写真の式(長すぎて書き込みできなかったので画像ですいません)により、(和暦)年○月○日と表示させたいのですが、
「C2が西暦かつD2の値が19261224〜19890107」のとき(昭和元年12月25日〜昭和64年1月7日)となるべきときのみ、昭和○○年の部分のみ表示され、
IF式の後ろの
&"年"&MOD(INT(D2/100),100)&"月"&MOD(D2,100)&"日")))で指定してる○月○日の部分が表示されません。
何がいけないのでしょうか
職場の要請により素人ながら組んでみましたが挫折しそうです。
アドバイスよろしくお願いします。
式が長いと言われたので改行してます、見にくかったらすいません。

https://i.imgur.com/JZvZ3st.jpg
0295名無しさん@そうだ選挙にいこう
垢版 |
2019/05/28(火) 13:07:04.89
>>294
入れてないです。
セキュリティの問題とか予算の問題と聞いてますが、アップデートの見込みもないと言われたのでこんなことをしてます。
和暦だけならもっと簡単なのですが、西暦でも入れられるようにとの要望もあったので、すごくややこしくなってます
0296名無しさん@そうだ選挙にいこう
垢版 |
2019/05/28(火) 13:09:54.15
>>293
読んでないけど、これじゃあかんの?
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(
TEXT(DATE(2019,5,5),"ggge年m月d日"),"令和1年","令和元年"),"平成1年","平成元年"),"昭和1年","昭和元年"),
"大正1年","大正元年"),"明治1年","明治元年")
0297名無しさん@そうだ選挙にいこう
垢版 |
2019/05/28(火) 13:20:45.20
>>296
ありがとうございます、これはおそらく令和対応のアップデート済みなら可能なのでしょうね
上でも書きましたが、Excelの令和対応はいまのところ全くの予定なしなんです…
0298名無しさん@そうだ選挙にいこう
垢版 |
2019/05/28(火) 13:27:14.25
>>293
ほい
=SUBSTITUTE(SUBSTITUTE(
IF(C14="西暦",
IF(D14<=20190430,
TEXT(DATE(LEFT(D14,4),MID(D14,5,2),RIGHT(D14,2)),"ggge年mm月dd日"),
SUBSTITUTE(TEXT(DATE(LEFT(D14,4)-30,MID(D14,5,2),RIGHT(D14,2)),"ggge年mm月dd日"),"平成","令和")
),
C14&INT(D14/10000)&"年"&MID(D14,LEN(D14)-3,2)&"月"&RIGHT(D14,2)&"日"
),"成1年","成元年"),"和1年","和元年")
0299名無しさん@そうだ選挙にいこう
垢版 |
2019/05/28(火) 13:28:02.85
おっと、ミスった
こっちが正解
=SUBSTITUTE(SUBSTITUTE(
IF(C2="西暦",
IF(D2<=20190430,
TEXT(DATE(LEFT(D2,4),MID(D2,5,2),RIGHT(D2,2)),"ggge年mm月dd日"),
SUBSTITUTE(TEXT(DATE(LEFT(D2,4)-30,MID(D2,5,2),RIGHT(D2,2)),"ggge年mm月dd日"),"平成","令和")
),
C2&INT(D2/10000)&"年"&MID(D2,LEN(D2)-3,2)&"月"&RIGHT(D2,2)&"日"
),"成1年","成元年"),"和1年","和元年")
0301名無しさん@そうだ選挙にいこう
垢版 |
2019/05/28(火) 14:01:32.88
>>299
ありがとうございます
ただこれだと、「平成31年01月01日」というような表示になるのですが、この0を消すことは可能ですが?
この日付を飛ばしてそのまま印刷することになるので、できれば「平成31年1月1日」を表示させたいです。
わがままで申し訳ありません。
これで解決すればいいのですが、そもそもわたしの作ったやつではなぜダメだったのでしょうか…
0302名無しさん@そうだ選挙にいこう
垢版 |
2019/05/28(火) 15:49:44.75
EXCEL for Androidの質問もこの板でいいのかな?
25日から印刷が全くできなくなったんだが、同じ状況の人いる?
どのファイルでも、「このブックを印刷可能な形式に変換できません」と表示される。
環境は泥7で端末2つ共に印刷できませんでした。
0305名無しさん@そうだ選挙にいこう
垢版 |
2019/05/28(火) 21:13:14.75
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可


ワークブックを保存して、さらにエクセルファイル自体も閉じたいのですが


Sub MacroB5()

'ファイルを保存して閉じる
Application.DisplayAlerts = False
ActiveWorkbook.Close True
Application.DisplayAlerts = True

End Sub


だと、ワークブックは閉じるのですが、エクセル自体は終了できません。
ワークブックを保存して閉じて、さらにエクセル自体を終了させるコードを教えてください。
0308名無しさん@そうだ選挙にいこう
垢版 |
2019/05/29(水) 17:49:26.39
【1 OSの種類 】 Windows7
【2 Excelのバージョン】 Excel2013
【3 VBAが使えるか】コピペしかできません
【4 VBAでの回答の可否】 可


シート"名簿"のA1の値を4繰上げるごとに、"案内状"を印刷し、
シート"名簿"のA列の最終行の値まで繰り返す。というコードを作って頂きました(↓)
これをPDFで印刷しようとすると、1枚毎に保存先とファイル名を入力しなくてはいけません
VBAだけでPDFを名前を付けて保存するコードを教えてください。

保存する時のファイル名は1枚目なら「1」2枚目なら「2」と言うような連番でお願いします。


Sub MacroA()


Sheets("名簿").Select
For i = Range("A1") To Cells(Rows.Count, 1).End(xlUp).Row - 1 Step 4
Range("A1") = i
Sheets("案内状").Select
ActiveSheet.PrintOut
Sheets("名簿").Select
Next

End Sub
0310308
垢版 |
2019/05/29(水) 22:22:21.04
>>309

この文はどこにいれたらいいですか?
0311名無しさん@そうだ選挙にいこう
垢版 |
2019/05/30(木) 11:34:17.04
ふと疑問に思った事
コメント挿入時にでてくるmismainteって何?誰?
ユーザー名の設定か表示されてるのは分かってる
由来が知りたいけど、調べても日本語で書いてるとこないんだよなー
0315名無しさん@そうだ選挙にいこう
垢版 |
2019/05/30(木) 14:08:54.17
>>287です。
教えて頂いたヒントで何とか出来上がってきました。
ありがとうございます。

後は仕上げなのですが、
エラーをIFERROR関数で非表示にすると、
セルの値が80より大きいで赤に染める条件付き書式が効いてしまいます。
IFERROR関数を使わずエラーが出ているだけでは染まらないです。
色を付けない用にIFERROR関数を使うにはどうすればいいでしょうか?
0318名無しさん@そうだ選挙にいこう
垢版 |
2019/05/30(木) 21:50:55.23
ていうか、Office2019から64bit版がデフォと聞いて
「馬鹿じゃねぇの?てか、馬鹿だろ。やりくちが汚な過ぎる」
と思った方はこのレスに「いいね」してください。

5chに「いいね」ないけど。
0321名無しさん@そうだ選挙にいこう
垢版 |
2019/05/30(木) 23:10:48.05
>>317
まぁ本来はそっちのほうがいいんだけどね〜
概念だけは知っておいても損はしないと思う。googleスプレッドシートがそうだから、迷わない

>>318
アンケートは他所で

>>320
そういうのは幼稚園まで
後で自分がめんどくさくなるだけ
0322名無しさん@そうだ選挙にいこう
垢版 |
2019/05/31(金) 12:43:21.97
シートを左のものからきっちり順に印刷する(印刷指示を出す)vbaありませんか?
スプール云々はプリンターの詳細設定弄れなくなってるのでvbaでどうにかなればしたいのですが・・
0326名無しさん@そうだ選挙にいこう
垢版 |
2019/05/31(金) 16:37:47.54
>>309

↓にしたのですが、動きません。

Sheets("名簿").Select
For i = Range("A1") To Cells(Rows.Count, 1).End(xlUp).Row - 1 Step 4
Range("A1") = i
Sheets("案内状").Select
cnt = cnt + 1
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, fileName:=ThisWorkbook.Path & "\案内状_" & cnt & ".pdf"
Sheets("名簿").Select
Next

End Sub
0338名無しさん@そうだ選挙にいこう
垢版 |
2019/06/03(月) 18:46:41.45
>>336
要は単に配列を全部足してるだけなんだよな
配列数式を完全に置換できる訳じゃないから、普段は分かり易い配列数式で組んじゃうわ
Sumproductの方が早いらしいから使い分けるべきなんだろうけど面倒臭いんだよね
0339名無しさん@そうだ選挙にいこう
垢版 |
2019/06/03(月) 22:33:18.23
>>337
>配列数式を理解しないとsumproductは理解出来ない?
別にそんな事はない
配列数式自体、一生使わなくても良い。ってか俺も使わん。誰も保守できなくなるからな
ただ機能自体は難しくないから知っておいたほうが良いだろう
0347名無しさん@そうだ選挙にいこう
垢版 |
2019/06/04(火) 08:46:30.27
配列数式とVBAは基本的に別物だろうに
もちろんVBAで配列数式を代替できるけどさ
配列数式って表が大きいと組んだところで重くて使い物にならないことがあるのが欠点だと思うんだが、そういうときは皆どうしてる?
うちは共有+セキュリティで暗号化されてる上に、サーバーがしょぼいこともあるから、ファイルの破損リスクが結構あって頭が痛いわ
0348名無しさん@そうだ選挙にいこう
垢版 |
2019/06/04(火) 08:48:17.85
別シートに計算用の関数シートを作ってそこで計算させる

そのシートは非表示にしておく
そしてシートもブックもロック…
0349名無しさん@そうだ選挙にいこう
垢版 |
2019/06/04(火) 08:54:00.27
>>347
そうなるから配列数式使わない
できるだけ軽い作業列を大量に作る

>ファイルの破損リスクが結構あって頭が痛いわ
それExcel以前の問題だ
0350名無しさん@そうだ選挙にいこう
垢版 |
2019/06/04(火) 11:39:09.52
知人の店の売上げの仕分け表みたいなのを少し手伝って作ってあげた
Excelが裏で動いてるシェルみたいなのって有ったりするのかなって探してるんだけど無いみたい
ドット絵みたいなのすごいの作っちゃう人なんかがいるから、レジの分野でもなにかスゴイのあるのかなと思って探したんだけど
0351名無しさん@そうだ選挙にいこう
垢版 |
2019/06/04(火) 11:40:36.18
【速報】金券五百円分とすかいらーく優侍券をすぐもらえる  
https://pbs.twimg.com/media/D8I_oMWUYAAsBXB.jpg  
    
@ スマホでたいむばんくを入手
A 会員登録を済ませる 
B マイページへ移動する  
C 招待コード→招待コードを入力する [Rirz Tu](スペース抜き) 
     
今なら更に4日18時までの登録で2倍の600円の紹介金を入手    
クオカードとすかいらーく優待券を両方ゲットできます。     
     
数分で出来ますのでぜひご利用下さい 
0354名無しさん@そうだ選挙にいこう
垢版 |
2019/06/04(火) 15:11:52.62
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

VBA全くの素人ですが、ネットから例文を寄せ集めて下のを書きました。
しかしこれだとプリンターの設定のダイアログで「キャンセル」を押しても印刷プレビューが表示されてしまいます。これを回避する方法を教えてください。
印刷を中止して入力シートに戻るか、もしくは再度印刷確認のメッセージボックスの画面戻し、もう一度印刷するどうかのを問いたいです
よろしくお願いします。

Sub Macro1()

&#160; Sheets("印刷シート").Select
&#160; ans = MsgBox("印刷しますか",vbInformation + vbOKCancel, "印刷確認")

Select Case ans
&#160; &#160; Case vbOK
&#160; &#160; Application.Dialogs(xlDialogPrinterSetup).Show
&#160; &#160; ActiveSheet.PrintPreview
&#160; &#160; Sheets("入力シート").Select
&#160; &#160; Range("C1:G2").Select
&#160; &#160; Case vbCancel
&#160; &#160; Sheets("入力シート").Select
&#160; &#160; Range("C1:G2").Select
&#160; &#160; Case Else
&#160; &#160; Exit Sub
End Select
Exit Sub
End Sub
0355名無しさん@そうだ選挙にいこう
垢版 |
2019/06/04(火) 15:16:18.60
>>354
コピペをした結果、文字化けがやばいですね、申し訳有りません。



Sub Macro1()

Sheets("印刷シート").Select
ans = MsgBox("印刷しますか", vbInformation +vbOKCancel, "印刷確認")
Select Case ans
Case vbOK
Application.Dialogs(xlDialogPrinterSetup).Show
ActiveSheet.PrintPreview
Sheets("入力シート").Select
Range("C1:G2").Select
Case vbCancel
Sheets("入力シート").Select
Range("C1:G2").Select
Case Else
Exit Sub
End Select
Exit Sub
End Sub

これで直ってますでしょうか
0356名無しさん@そうだ選挙にいこう
垢版 |
2019/06/04(火) 15:30:25.65
要するに
Application.Dialogs(xlDialogPrinterSetup).Show
でキャンセルしたかどうかの取得だと思うけど、無理と思う

'先に印刷設定もってきて
Application.Dialogs(xlDialogPrinterSetup).Show
'印刷確認
ans = MsgBox("印刷しますか",vbInformation + vbOKCancel, "印刷確認")

でもいいかもな
0362名無しさん@そうだ選挙にいこう
垢版 |
2019/06/06(木) 15:15:05.52
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
画像のようにチェックボックスにチェックを入れるとその行が印刷範囲に設定されるようにしたいです
画像だとB5〜F5とB9〜F9が印刷範囲になります
よろしくお願いします
http://imgur.com/FojDKjo.png
0365名無しさん@そうだ選挙にいこう
垢版 |
2019/06/06(木) 16:38:35.47
すみません
android用のEXCELでOCR機能が追加されていると思うのですが、日本語には対応しているのでしょうか?
ネットで探しても分からなかったので、既に使っている方いらっしゃいますか?
0367名無しさん@そうだ選挙にいこう
垢版 |
2019/06/06(木) 18:57:20.41
>>366
あらま
チェックボックスではなく、セルに「1」とかいれてそれでフィルタして印刷したら終わりじゃないかな〜って考えてたとこだった
vbaでやるのは「フィルタと印刷」のみ
0371名無しさん@そうだ選挙にいこう
垢版 |
2019/06/07(金) 16:54:34.03
ユーザーフォームに入力した項目が印刷時にどう見えるか確認できるように、ボタンで印刷プレビューが出るようにしました。
ただユーザーフォームを表示したまま印刷プレビューが出ると固まるので、ユーザーフォームを隠したんですが、プレビューを閉じたら隠したユーザーフォームが再表示されるようにしたいです。
印刷プレビューが閉じられたときにトリガーになるような方法はありませんか?
0372名無しさん@そうだ選挙にいこう
垢版 |
2019/06/07(金) 17:39:28.73
無い
0375名無しさん@そうだ選挙にいこう
垢版 |
2019/06/07(金) 22:07:34.54
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

教えて下さい。
A1 B1 C1 に数字があり
D1に× 、E1に空欄で A1+B1
D1に空欄、E1に×で B1+C1
D1とE1に×で A1+B1+C1
D1とE1に空欄で 計算なし

ならIF関数はどのような書式になりますか?

宜しくお願い致します。
0378名無しさん@そうだ選挙にいこう
垢版 |
2019/06/07(金) 22:21:58.33
>>375
=A1*(D1="×")+B1*OR(D1="×",E1="×")+C1*(E1="×")
でいかが? D1、E1には 空欄、×、×以外のなにか という3パターンありますが、
×かどうかだけで計算しています。
0380名無しさん@そうだ選挙にいこう
垢版 |
2019/06/08(土) 11:27:11.08
【1 OSの種類         .】 OSX13
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
お世話になります
シート1の表をシート2でも同じ表記をし、かつシート1あるいは2でその表を編集したら
連動してもう片方の表も変更されるようにするには、どうすれば良いでしょうか?

シート1とシート2をShit押しながら選択した状態で表を編集すれば同じ様な事は可能ですが、
この場合は同じ行列の位置のを編集しているだけで、それぞれの表の行列の位置が異なると途端にズレて編集されてしまうので・・・
0385名無しさん@そうだ選挙にいこう
垢版 |
2019/06/08(土) 22:53:30.03
【1 OSの種類         .】 windows10
【2 Excelのバージョン   】 Excel2019
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
A1セルに「平成30年12月」と入力されている場合に、
B1セルに2018/12/1と日付を返す方法はありますか。
12/1でも12/31でもいいです。
0392名無しさん@そうだ選挙にいこう
垢版 |
2019/06/09(日) 12:19:55.40
>>389
Alt押しじゃダメなの?
0394名無しさん@そうだ選挙にいこう
垢版 |
2019/06/09(日) 19:39:15.69
ビジネスで優秀な人材育成する上司は何を教えているのか?
https://www.youtube.com/watch?v=apxtSqxjw08&;t=13s
マクドナルド伝説の店長が教える、最強店長になるために必要なこと
https://www.youtube.com/watch?v=0wMbR7JIeeQ&;t=3154s
「最強の働き方」長時間労働やノウハウよりも大切なこと
https://www.youtube.com/watch?v=JnMHbI1-e3E&;t=3606s
美容師の楽しさ再発見!やる気スイッチが入る働き方セミナー
https://www.youtube.com/watch?v=DGzXQT799oY
視覚障がいを乗り越えた活法家
https://www.youtube.com/watch?v=6IuY_K3uFdo&;t=805s
0396名無しさん@そうだ選挙にいこう
垢版 |
2019/06/09(日) 22:26:59.82
>>385で質問したものです。
A1セル「平成30年12月」に対して
=TEXT(DATEVALUE(A1&"1日"),"yyyy/mm/dd"
で2018/12/01が返ったのですが、
「平成30年」に対して
=TEXT(DATEVALUE(A1&"12月"&"1日"),"yyyy/mm/dd"
だとエラーになりました。
問題点はどこにあるかわかりますでしょうか。
0401名無しさん@そうだ選挙にいこう
垢版 |
2019/06/11(火) 12:55:24.24
countif関数教えてください。

重複を探すためにcountif関数を使ってます。

=countif($I$2:$I$10,I2)

という式を入れて重複をのデータを探しています。重複があれば2以上の数値が返るような感じです。

しかし明らかに重複していないのに2が返る箇所があります。

因みにI2.I3...のセルの値は3つのセルの結合で成り立ってます。23桁の文字列です。

何か原因はありますか?わかる方教えていただけるとありがたいです。
0405401
垢版 |
2019/06/11(火) 20:05:51.62
みなさん、ありがとうございます。

2が返される文字列と言うのは51840063118350711110700と51840063118350711026700の2つです。

それぞれ3つのセルを結合しています。明らかに異なる文字列なのに2が返されます。。。
0406名無しさん@そうだ選挙にいこう
垢版 |
2019/06/11(火) 20:26:37.18
>>401
これ結構難しいな
指数表記になると同一とみられるらしい
https://i.imgur.com/bY4mK7c.png

・文字列にしてSUMPRODUCT
ならうまくいく
画像E3、E4の数式

・頭にアンダーバーなど入れて完全に文字列にする
これならcountifで取れる

とにかく数値のままだと難しいようだ
0407名無しさん@そうだ選挙にいこう
垢版 |
2019/06/11(火) 20:40:33.69
重複チェックするくらいだから相当数あるとすれば文字列にしてしまった方が良いかもね
sumproductの場合は大量の行にコピペするとえらいことになる
0409名無しさん@そうだ選挙にいこう
垢版 |
2019/06/11(火) 20:53:14.23
と思ったけどダメだ、最初に指数になってしまうとその時点でダメなのか
文字列にした上で、アンダーバーなり付けないとダメか
うーん
0410名無しさん@そうだ選挙にいこう
垢版 |
2019/06/11(火) 22:08:34.30
>>401
Excelの仕様上23桁の数値の表示は無理だね
3つのセルの結合ならconcatenateだと文字列になるから結合の列だけコンカテナテにすればいいんじゃない?
ちなみに有効桁数は15桁
クレカの番号を入力できないようにする為とか聞いたことあるけどわからん調べてない
0411401
垢版 |
2019/06/11(火) 22:25:15.98
請求書の入力で重複がないかを探すために金額、コード1、コード2で検索値を作っておりました。
前述の方のアンダーバーを入れてやり直したら上手くいきました。
Excelは奥深いです。みなさんありがとうございました。
0415名無しさん@そうだ選挙にいこう
垢版 |
2019/06/11(火) 23:56:55.00
@最後のシート(右端)をアクティブにする
A

さる 1
いぬ 2
とり 3
さる 4

このようになっている時にさるに該当する数字の合計値を表示する

@とAは独立した事例です
vbaでお願いします
0420名無しさん@そうだ選挙にいこう
垢版 |
2019/06/13(木) 17:21:13.61
数字で数値は>>418.>>419でできそうです
ちなみにsumifで日本語文字列参照するときのセル書式って「文字列」じゃないとだめですか?とするとそれも直さないとなんですが

さる 1
いぬ 2
とり 3
さる 4

この全ての頭にアポストロフィーが付いている状態で、さるの合計を求めたいです
0421名無しさん@そうだ選挙にいこう
垢版 |
2019/06/13(木) 18:01:01.23
書式設定は何でもいいしアポストロフィーはあっても無くても良い
でもせっかくだからvbaで置換して消しておいたほうが良いとは思う
0422名無しさん@そうだ選挙にいこう
垢版 |
2019/06/13(木) 18:31:27.35
今までも違和感があったのだが今日知ってしまった
EXCEL2016で第二縦軸の軸ラベルを追加しようとグラフ要素を追加→軸ラベルと進んでいくと、第二「横」軸を追加するボタンと第二「縦」軸を追加するボタンのアイコンがどちらも「横軸」の絵じゃないかw
0431428
垢版 |
2019/06/13(木) 23:13:58.13
Sub tes()
Dim myMaxRow As Long
Dim myAns As Long
Dim i As Long
myMaxRow = Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To myMaxRow
Cells(i, 3) = Cells(i, 2) * 1
Next i
myAns = WorksheetFunction.SumIf(Range("A1:A4"), "さる", Range("C1:C4"))
MsgBox myAns
End Sub

よくわからんけど、こういうこと?
0432名無しさん@そうだ選挙にいこう
垢版 |
2019/06/13(木) 23:16:25.18
アポストロフィー抜いたらいいんじゃないの
Sub foo()
For Each r In Range("b1:b4")
If r.PrefixCharacter <> "" Then
r.Formula = r.Formula
End If
Next
Debug.Print WorksheetFunction.SumIf(Range("a1:a4"), "さる", Range("b1:b4"))
End Sub
0433名無しさん@そうだ選挙にいこう
垢版 |
2019/06/13(木) 23:45:18.59
>>431
ありがとうございます大体そんな感じです
SumIf(Range("A1:A4"), "さる", Range("C1:C4")) のrange指定をA4やC4ではなく最終行で指定するにはどう書けばいいですか?

>>432
ありがとうございます、アポストロフィは綺麗に消えましたがsumifがどうなっているのかよくわかりません
(Debug.Printをよく理解していないからですが)
B5に合計の数値表示するとかできませんか?
0434431
垢版 |
2019/06/14(金) 00:31:50.81
432さんのようにアポストロフィ削除したほうがいいような気がするけど、
どちらにしても、こうかな。
myAns = WorksheetFunction.SumIf(Range(Cells(1, 1), Cells(myMaxRow, 1)), "さる", Range(Cells(1, 3), Cells(myMaxRow, 3)))
0435名無しさん@そうだ選挙にいこう
垢版 |
2019/06/14(金) 21:08:58.52
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

1KF0123445600これを1KF-0-1234-456-00このようにハイフンで区切り
たいんだけど【セルの書式設定】の【ユーザー定義】【種類】で何とか変更したい。
全て数字なら可能なんだけどアルファベットが入っているのでどうしていいのか
わからない。

LEFTとMID関数を使えばできるのは確認してるんだけど何とか関数を使わずに
出来ないだろうか?
0438名無しさん@そうだ選挙にいこう
垢版 |
2019/06/15(土) 17:39:17.22
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

同じシートにある、セルの数値を行番号にして、別なシートのセルを参照したいのですが
どう記述したらいいでしょうか?

しょっぱい質問ですいません
0441名無しさん@そうだ選挙にいこう
垢版 |
2019/06/16(日) 05:33:26.54
質問です。よろしくお願いいたします。

上級者の作ったファイルを見ると、たいていVBAコードが複数のモジュールに分けて書かれています。
これは、改修時に見やすいとか、機能ごとにわけておくと別の機会に流用しやすいとか、
そういう理由によるものなのでしょうか?

ひとつのモジュールに全部書くのがダメな理由って他にありますか?
行数制限とか。。

どうでしょうか?
0442名無しさん@そうだ選挙にいこう
垢版 |
2019/06/16(日) 08:50:22.00
>>441
見やすいから
といっても10行で全部終わるような物を5行ずつに分けても仕方ない、この辺りは慣れ
個人的にvbaの場合、コメントさえキッチリ書いておけば1000行ぐらいでも全然平気
0445名無しさん@そうだ選挙にいこう
垢版 |
2019/06/16(日) 10:53:54.83
>>441
VBAを使う目的の一つが単純作業を機械的に自動的にやらせるため
単純作業とは同じことを何度も繰り返すことだから、処理が共通な部分はモジュールにまとめた方が、プログラムを作る手間が省ける
0451名無しさん@そうだ選挙にいこう
垢版 |
2019/06/16(日) 17:04:35.20
>>439
ありがとうございます。

惜しかったなー
=INDIRECT("A"&A1)まではたどり着いてたんですが、=INDIRECT(Sheet2!"A"&A1)とかやってた
ほんとしょっぱいな俺
0456名無しさん@そうだ選挙にいこう
垢版 |
2019/06/17(月) 06:27:13.74
プロシージャを分けるのは単体で動きのテストがしやすいからかな
モジュールを分けるのは、機能の整理ができるし、「モジュール名.プロシージャ名」で呼び出せるようになるから
パッケージ代わりというか、クラス代わりというか、そんな感じで書きやすくなるのが便利

例えば「Battle」モジュールに「Attack」「UseItem」の2つのプロシージャを作ってあるとしたら、
「Battle.」まで打つとその2つだけが入力候補に表示される
0462名無しさん@そうだ選挙にいこう
垢版 |
2019/06/18(火) 12:53:38.26
Excel関数で中級者レベルの関数って何でしょうか?

どれだけ入れ子できるかとあると思いますが、sumproduct、offset、indirectとかでしょうか?他にありますか??
0464名無しさん@そうだ選挙にいこう
垢版 |
2019/06/18(火) 13:14:54.52
入れ子の数自慢する奴はクソだから相手すんな分けろ
0468名無しさん@そうだ選挙にいこう
垢版 |
2019/06/18(火) 19:10:35.93
>>466
そもそもExcelはバージョンアップするごとに関数が追加されてってる
例えばExcel2019で追加された関数は、同じWindows版でもExcel2016だと使えない
0469462
垢版 |
2019/06/18(火) 19:33:24.65
ご意見ありがとうございました。

その中であった、作業列は実務では必須であると思います。

Excel初心者を抜け出せずにいますが頑張ります!
0470名無しさん@そうだ選挙にいこう
垢版 |
2019/06/18(火) 20:20:43.44
一括でこんな風に分解させるような方法はありますか
りんご,2
みかん,3

りんご,1
りんご,1
りんご,1
みかん,1
みかん,1
0471名無しさん@そうだ選挙にいこう
垢版 |
2019/06/18(火) 20:21:28.36
3行目りんごではなくみかんです
0472名無しさん@そうだ選挙にいこう
垢版 |
2019/06/18(火) 20:51:25.31
>>470
vbaなら楽勝やね

Sub foo()
最終行 = Cells(Rows.Count, 1).End(xlUp).Row
現在行 = 1
For i = 1 To 最終行
For k = 1 To Cells(i, 2)
Cells(現在行, 3).Value = Cells(i, 1).Value
現在行 = 現在行 + 1
Next
Next
End Sub
0473名無しさん@そうだ選挙にいこう
垢版 |
2019/06/18(火) 20:52:18.15
あぁ1がいるのか
こんな感じかね

Sub foo()
最終行 = Cells(Rows.Count, 1).End(xlUp).Row
現在行 = 1
For i = 1 To 最終行
For k = 1 To Cells(i, 2)
Cells(現在行, 3).Value = Cells(i, 1).Value
Cells(現在行, 4).Value = 1
現在行 = 現在行 + 1
Next
Next
End Sub
0474名無しさん@そうだ選挙にいこう
垢版 |
2019/06/18(火) 21:12:04.67
ありがとうございます。試してみます。
0475名無しさん@そうだ選挙にいこう
垢版 |
2019/06/18(火) 23:37:53.66
>>441

いろんなブックに使い回ししたいものをモジュールを分けて、サーバー上に
配置、ブックを開いた時のトリガーでブックにインポートするようにしてるわ。
マスターを直せば色んな場所に散らばってるブックまでを修正しなくていいしね。
0476名無しさん@そうだ選挙にいこう
垢版 |
2019/06/19(水) 10:22:54.04
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

様々な商品の仕入れ状況を1枚のシートに入れてます

A列に商品名、1行目に日時を入れて、残りの各対応セルに購入価格を入れ、各々のセルの色で仕入れ先が分かるようにしています。
しかしこのやり方だととても見にくい色のセルが出てきてしまいます
かといって色付けやめて仕入先を別の専用列にすると、シートをまとめてグラフで表示ができなくなってしまいます。

物、日時、価格、仕入先の4情報を分かりやすく表示する方法はないでしょうか?
0478名無しさん@そうだ選挙にいこう
垢版 |
2019/06/19(水) 11:11:07.77
>>476
色で仕入先を分類するのは止めたほうがいい
2,3色で済むなら良いけど、そのうち七色になって間違う

>色付けやめて仕入先を別の専用列にすると、シートをまとめてグラフで表示ができなくなってしまいます。
できる

どうしても無理ならアイコンセットとか使った方がマシかも
http://blog.jmiri.net/?p=52
0479名無しさん@そうだ選挙にいこう
垢版 |
2019/06/19(水) 13:24:31.12
>>478
レスありがとうこざいます
専用列無くてもグラフにできるとのことですがどうやったらできますか?
ぐぐってもラベルを奇数列だけとかはありましたがデータを一つとびにするのは見当たらないでした
vbaで価格列だけ抽出した作業シートを作ってグラフ表示となると元データシートとグラフを行き来することになり視認性が悪いです
0480名無しさん@そうだ選挙にいこう
垢版 |
2019/06/19(水) 13:51:37.25
>>479
元々がかなり変な事をしている
>A列に商品名、1行目に日時を入れて、残りの各対応セルに購入価格を入れ、各々のセルの色で仕入れ先が分かるようにしています。

日時、仕入先、物、価格、で元になる4列のテーブルを作る
そこから今作っているような表はピボットテーブルで作成し、グラフもピボットグラフで作る
そうすれば全てが一瞬で終わる
0481名無しさん@そうだ選挙にいこう
垢版 |
2019/06/19(水) 21:48:00.21
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010・2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

30年ぐらいの長期計画表を作ろうとしています。
左から

項目 周期 2019 2020 2021〜〜

周期の所に年を入れて、計画で予定する年度に*をつけて予実の確認。

毎年6月に実施可否を検討するとして、
計画なので延期、周期変更等が有りますので、
「今年度以降、もしくはそれより左(過去)の列から直近の*を検索し
そこから○年周期で右側に*をつけるように更新できるようにしたいです。

どのようなやり方が有りますでしょうか?
0482名無しさん@そうだ選挙にいこう
垢版 |
2019/06/19(水) 22:27:33.98
30年後も会社存続してるのかよwwwww

というのは置いといて・・。
Match関数で※探して、計算式が入ってるセルから何列離れているか調べればいいのでは?
0485名無しさん@そうだ選挙にいこう
垢版 |
2019/06/19(水) 23:01:54.99
予め↓こんなセルを用意しておいて、コピペでもいいのか。

_________
|※|  |  |  |  |※|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0490名無しさん@そうだ選挙にいこう
垢版 |
2019/06/21(金) 07:14:14.70
VBAだと
ActiveSheet.UsedRange.Select
でデータが入っている領域を選択できるじゃない。
それをキーボード操作でやりたいのだが、そんなショートカットキーはあるのかしら?
0492名無しさん@そうだ選挙にいこう
垢版 |
2019/06/21(金) 07:29:39.33
>>491
F5押しても選択出来なかったわよ。
もう少し詳しく教えなさいよ!
0496名無しさん@そうだ選挙にいこう
垢版 |
2019/06/21(金) 12:58:22.84
>>495
2パターン

・中小企業なら大喜び
・大企業や倉庫・物流系などは専門システムがあるのでvbaが全く意味ないことも

まぁ覚えて置いて損はないよ
0497名無しさん@そうだ選挙にいこう
垢版 |
2019/06/21(金) 13:13:24.50
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可

サイト内のディレクトリリスト?の整理をしています。
A列に同じ文字列が入っている複数行に関して、B列の前から特定個数の文言 もしくは特定の記号までの文言が重複しているデータだけを消したいです。
活用できる関数などがあったら教えてください。
よろしくお願いします。
0499名無しさん@そうだ選挙にいこう
垢版 |
2019/06/21(金) 18:20:30.38
マジっすか!自分はふつうに経理やってるんすけど、VBAってExcelの機能があるって知って今めっちゃ興味あるっす。やっぱ経理で自己研鑽するならExcelとかっすよね。
0500名無しさん@そうだ選挙にいこう
垢版 |
2019/06/21(金) 18:58:00.38
>>499
まぁな〜
一日の業務の内、5分自動化できれば200日/年として、14時間/年浮く計算になる
この空いた時間で更に効率化を進めれば効率化スパイラルになるよ~
0502名無しさん@そうだ選挙にいこう
垢版 |
2019/06/21(金) 20:05:45.81
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

リストから部分一致の項目を抜き出して表示させるってできませんか?
プルダウンから選ぶ方法ばっかで手打ちで絞り込みできないです
0507名無しさん@そうだ選挙にいこう
垢版 |
2019/06/21(金) 20:42:29.03
>>504
こんな感じ
https://dotup.org/uploda/dotup.org1877887.xlsx.html

>>505
中小企業が喜ぶのは間違いない
VBAはいいけど、年齢がネックだな〜〜〜
60の事務取る企業って見たことない
個人的な意見では、vbaよりも節税・脱税の知識ある人の方が会社にとって利益になるんじゃないの?と思う

60でvba使えますと言われても、そのなんだ
企業としては、若くてVBA使える人取ります

派遣とか登録してみた方が早いかもね
給料安くてもいいから事務やりたい、こういう事ができるって言えば、奇跡的に何か紹介してもらえるかもしれない
0508名無しさん@そうだ選挙にいこう
垢版 |
2019/06/21(金) 21:55:11.95
A列に名前(重複あり)、B列に点数があります
C1セルでA列にある名前を選んだ場合にD1セルにC1で選んだ名前の一番下あるいは一番上の点数を持ってくる方法ありませんか?

重複無いとvlookupで簡単に持ってこれますが、重複あるとやり方が分からないです
0511名無しさん@そうだ選挙にいこう
垢版 |
2019/06/22(土) 02:20:36.45
既存のグラフに任意の方程式の直線を書き足して、
その直線と元々グラフにプロットしてあった点との関係のR二乗値を出したいんだけど
いい方法ないですか?
0512名無しさん@そうだ選挙にいこう
垢版 |
2019/06/22(土) 06:44:49.73
>>508
> C1セルでA列にある名前を選んだ場合にD1セルにC1で選んだ名前の一番下あるいは一番上の点数を持ってくる方法ありませんか?
一番上って、最も上の行?
それとも最も高い点数?
行なら>>508
点数ならMaxIfsかな
0514名無しさん@そうだ選挙にいこう
垢版 |
2019/06/22(土) 16:18:05.51
家やプライベートでもExcelを使ってる人っていますか?
使い道としては家計簿や健康管理のための体重/血圧の記録くらい?
0515名無しさん@そうだ選挙にいこう
垢版 |
2019/06/22(土) 16:50:42.73
あちこちのサイトのIDとパスワードの管理 会員登録ごとに住所の番地の末尾を変えてるので、どこから流出したのかわかるようにしてる
0516名無しさん@そうだ選挙にいこう
垢版 |
2019/06/22(土) 16:56:28.37
>>514
・履歴書、職務経歴書
・ゲームの攻略メモ
を使っている
ただ、今は両方ともgoogleスプレッドシートになっている

あと、煽るわけじゃないが
昔は>>515と同じことをしてた
特にどこからも個人情報がもれず、なんかめんどくさくなっただけなのでやらなくなった
0518名無しさん@そうだ選挙にいこう
垢版 |
2019/06/22(土) 20:52:49.54
>>514
趣味用の時刻表をexcelで作ったり、家電を買い換える時に価格comの全データをexcelに読み込んで独自のフィルターかけて機種を選んだりしてる
0525名無しさん@そうだ選挙にいこう
垢版 |
2019/06/23(日) 23:37:17.89
基礎的な質問で申し訳無いのですが、割り算ではなく、240を60,60,60,60のように分ける関数はありますか?
250ならば、最後に10が来るような…
0528名無しさん@そうだ選挙にいこう
垢版 |
2019/06/24(月) 01:04:16.46
>>525
=REPT("60,",INT(A1/60))&MOD(A1,60)

つまらぬものを作ってしまった
礼はいらぬぞ
0529527
垢版 |
2019/06/24(月) 19:37:42.67
REPT関数なんてあるんですね、知らなかった。
0533名無しさん@そうだ選挙にいこう
垢版 |
2019/06/24(月) 20:54:32.62
>>525
240と40とか250と40か与えられるの?
ならまあちょっとVBAのコード書けばいいだけかと
そのものズバリを求めているならそんなに特殊な関数はまずない
0534名無しさん@そうだ選挙にいこう
垢版 |
2019/06/24(月) 21:55:53.19
>>528だと値が240のとき末尾の ,0 が余計では


reptは2003までセル内に棒グラフ描くのに使われてた
今は書式で入れられるからほとんど使われなくなったけど
0535名無しさん@そうだ選挙にいこう
垢版 |
2019/06/24(月) 22:52:15.50
>>534
ifとかでテキトーに弾けばよかろう
0537名無しさん@そうだ選挙にいこう
垢版 |
2019/06/25(火) 13:21:26.39
Excelで体重増減の記録をつけています
日付をA列、体重をB列、体脂肪率をC列……といった感じの表とグラフです
日付は先に1ヶ月分くらいオートフィルで入力済みです

ダイエット開始日からの増減トータルはcountaで求められたのですが
ダイエット開始日(A2セル)から今日までの日数をカウントする方法がわかりません

5/23 100
5/24 98.1

6/24 93
6/25 92.5
6/26
6/27

今日は5/23から6/25までの日数を
明日は5/23から6/26までの日数を
別セルに表示させたいのですが
そのような関数があったら教えてください
datedif? 空白セルを無視する?
※実際は100キロもありません!
0538名無しさん@そうだ選挙にいこう
垢版 |
2019/06/25(火) 13:30:38.50
>>537
10行目の場合、
=A10-A1
だけでok。書式設定は数値にすること

また、Excel関係ないんだけどスマホ連動型の体重計にすると便利だよ
「アプリ立ち上げて体重計に乗る」
これだけでこういう記録・グラフ作成などを全自動でやってくれる
https://i.imgur.com/itY3ePH.png
0539名無しさん@そうだ選挙にいこう
垢版 |
2019/06/25(火) 15:08:48.02
>>538 レスと体重計情報ありがとう

そうではなくて
6/26の体重欄に数字を入力したら
開始から何日経過したかも連動して更新する関数はないかということです
体重等の方はcounta関数でそれができているので

グラフの上に
「開始から:○日
 体重増減:○キロ
 体脂肪増減〜」
という自動更新される表示を入れたいんです
0540名無しさん@そうだ選挙にいこう
垢版 |
2019/06/25(火) 16:51:42.28
>>539
多分、全体的に変なことをしている

超シンプルに
=max(a:a)-a2
だけで良い

あと、質問する時は極力関係無いことは書かない方が良い
countaとか逆に混乱する。何にどう使ってどういう結果を出してるのか分からん
0541名無しさん@そうだ選挙にいこう
垢版 |
2019/06/25(火) 18:18:47.89
>>540
質問慣れしてないため余計なことまで書いてしまってすみません

上記の関数だと
オートフィルで入力された最後の日付までのカウントになってしまいます
0543名無しさん@そうだ選挙にいこう
垢版 |
2019/06/26(水) 00:51:02.22
うーん……
そのままコピペして貼り付けましたが
#VALUE! のエラーになります……
日付の形式に問題があるのかもしれません
もうちょっと直してみます
お手数おかけしました
ありがとうございました
0544名無しさん@そうだ選挙にいこう
垢版 |
2019/06/26(水) 01:37:09.41
>>543
ふつうにB列をカウントすれば良いのでは?
=count(B:B)
空白の日があるとかなら、作業列を使って、
if、row、max関数あたりを組み合わせる。
0545名無しさん@そうだ選挙にいこう
垢版 |
2019/06/26(水) 02:13:19.76
>>543
毎日入力する前提だけど
どこかのセル(別シートでもいい)にtoday関数入れて入力当日の日付を出す
=DATEDIF(開始日のセル,今日の日付が表示されてるtoday関数のセル,"d") で無理?
もしくは=DAYS(today関数のセル,開始日のセル)
ここのやり取り見てスプレッドシート引っ張り出してやってるから
excelにはない関数ならごめん
0547名無しさん@そうだ選挙にいこう
垢版 |
2019/06/26(水) 18:44:41.89
初歩的な関数しか使えない素人の質問です。

シートにあるセルの範囲と、別の位置にあるセルの範囲と、
内容がすべて一致するかどうかチェックするには
どうしたら良いでしょうか?
0548名無しさん@そうだ選挙にいこう
垢版 |
2019/06/26(水) 18:48:37.14
縦の範囲ならvlookupでひっかければいいよ
vlookup(検索したい範囲の1つ目,一致するか調べたい範囲の列まるごと,1,0) でオートフィル
で、#N/A ? エラー吐いたらそこのセルの値は一致してない
0551名無しさん@そうだ選挙にいこう
垢版 |
2019/06/26(水) 19:17:37.39
>>550
横一列の範囲を縦に変換するのなかったっけ?
範囲コピーして貼り付けるときにどこか選んだら縦に貼り直せると思うよ
詳しくはググってくれ
0552名無しさん@そうだ選挙にいこう
垢版 |
2019/06/26(水) 19:18:56.48
549さんの方法を縦と横にオートフィルする。それでtrueかfalseか一つずつみるか、countifか何かで全部一括で結果をみるかかな。
0556名無しさん@そうだ選挙にいこう
垢版 |
2019/06/26(水) 20:21:08.78
ありがとうございました。
ダウンロードさせていただにました。
時間のある時によく見てみます。

Excelの首尾範囲ではないんですか…
だから検索しても全然出てこないんですね。
0558名無しさん@そうだ選挙にいこう
垢版 |
2019/06/26(水) 23:18:01.42
VLOOKUPやMATCHを使う時、

検索キーA1、範囲B1:B65536
検索キーA:A、範囲B:B

どちらでも良いのは知ってるんだけど、理屈がわからん。

自作関数なら、A:A列を指定したら、行は、自動的に計算式が入っている行と同じになる、
みたいに作ることも出来るけど、元々の関数もそうなってるの?
0559名無しさん@そうだ選挙にいこう
垢版 |
2019/06/27(木) 15:33:10.10
>>505
関数すら使えない上場企業子会社みたいな会社もあるけど
年齢性別で難しそう
現場派遣から入って能力人柄認めらたら可能性はないわけではないが
改善活動強制する割に生産性向上には無頓着
0560名無しさん@そうだ選挙にいこう
垢版 |
2019/06/27(木) 21:29:04.22
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel 2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

ハイパーリンク設定してるところにアクティブセル合わせて
そこからキーボードだけでリンク先に飛ぶことってできますか?
リンク先は別のシートです。
0561名無しさん@そうだ選挙にいこう
垢版 |
2019/06/27(木) 22:18:50.24
>>560
Shift+F10 o o Enter
0562名無しさん@そうだ選挙にいこう
垢版 |
2019/06/27(木) 23:29:17.28
>>560
できるよ
0566名無しさん@そうだ選挙にいこう
垢版 |
2019/06/28(金) 10:38:51.27
>>564
横山ノックでしょう
0567名無しさん@そうだ選挙にいこう
垢版 |
2019/06/28(金) 12:42:15.74
A1からA100までランダムに◯とか●がセルの中に1つずつ入っているとします。もちろんどちらも入っていないセルもあります。

◯と●が入っているセルの数を数えるには

=countif(A1:A100,"◯")+ countif(A1:A100,"●")

この数式しかないでしょうか?お分かりになる方、教えていだければと思います。
0570名無しさん@そうだ選挙にいこう
垢版 |
2019/06/28(金) 14:05:59.64
=IF(A1="○",1,0)+IF(A1="●",1,0)+IF(A2="○",1,0)+IF(A2="●",1,0)+ …… +IF(A100="○",1,0)+IF(A100="●",1,0)

同じ結果が出せる数式は無数に考えられる
0571名無しさん@そうだ選挙にいこう
垢版 |
2019/06/28(金) 14:45:40.52
【1 OSの種類         .】 Windows 10
【2 Excelのバージョン   】 Excel 2016
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可

条件付き書式の質問です。
別シートの日付をハイパーリンクでリンクさせた時、
日付が入力されたセルは色付き、空白のセルはそのままと設定したく色々調べて
条件付き書式から条件に =○○<>"" と入力し、日付の入力したセルの色は変わるようになったのですが、
ハイパーリンクを設定した別シートで未入力のセルの色まで変わってしまいます。どうすればいいのでしょうか?、
0572567
垢版 |
2019/06/28(金) 21:58:16.89
ありがとうございます。sumproductでやってみたいと思います!
0573名無しさん@そうだ選挙にいこう
垢版 |
2019/06/29(土) 10:25:49.16
【1 OSの種類         .】 Windows 10
【2 Excelのバージョン   】 2016
【3 VBAが使えるか    .】 否
【4 VBAでの回答の可否】 否

A列に名前があります。合間合間に空白もあります。
名前が入っているところだけB列で上から1 2 3...と番号を付けたいのですが
手入力ではなく、あらかじめ関数でセットしておくにはどうすれば良いでしょうか?

【イメージ】
山田  1
鈴木  2
佐藤  3

近藤  4
藤原  5

宮本  6
0575名無しさん@そうだ選挙にいこう
垢版 |
2019/06/29(土) 10:46:14.53
>>573
B1=IF(A1="","",MAX(A$1:A1)+1)
下にオートフィル
0581名無しさん@そうだ選挙にいこう
垢版 |
2019/06/29(土) 11:36:22.33
>>576
B2=IF(A2="","",MAX(A$1:A1)+1)
だったわチクショウ
0582名無しさん@そうだ選挙にいこう
垢版 |
2019/06/29(土) 11:38:45.38
B2=IF(A2="","",MAX(B$1:B1)+1)
だったわチクショウ
0583573
垢版 |
2019/06/29(土) 11:40:05.85
>>574
こうなりました。何がいけないんでしょうか。
山田  1
鈴木  2
佐藤  3

近藤  5
藤原  6

宮本  8
0584名無しさん@そうだ選挙にいこう
垢版 |
2019/06/29(土) 11:44:19.62
この記事すごい。。。

うちの会社の月1の営業会議に使う計数資料が簡単に設定できそう。
30分から1時間くらいかけて数字転記してる作業がなくなったりして。。

http://ecoslyme.com/excel-pivot-matrix2/
0588573
垢版 |
2019/06/29(土) 12:38:34.98
見出し行を1行目に設定して>>582で思った通りにできました。
ありがとうございました。
0599名無しさん@そうだ選挙にいこう
垢版 |
2019/06/30(日) 09:03:28.18
なんで日本のExcelはA1形式なの?
と質問しようと思ったら一太郎の真似したんだな、とすぐに回答がでました
お騒がせしました
0600名無しさん@そうだ選挙にいこう
垢版 |
2019/06/30(日) 10:59:34.66
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Office365

こんにちは

範囲B1:C4について
セルA1をダブルクリックすると昇順
セルA2をダブルクリックすると降順
に並べ替える(B列基準で)プログラムですが
下のようにすると,A1, A2それぞれ1回ずつは動作しますが2回目からは並べ替えしなくなります
MsgBoxは動くのでSortだけが1回しか動作しないという状況です
ブックを閉じて開けばまた1回ずつ動くようになります
どうすれば何回でも並べ替えられるようにできますか?

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Address = "$A$1" Then
MsgBox ("HI")
Range("B1:C4").Sort Range("B1")
End If
If Target.Address = "$A$2" Then
Range("B1:C4").Sort Range("B1"), xlDescending
End If
Cancel = True
End Sub
0601名無しさん@そうだ選挙にいこう
垢版 |
2019/06/30(日) 11:15:22.85
>>600
解決策
MsgBox ("HI")
Range("B1:C4").Sort Range("B1")

MsgBox ("HI")
Range("B1:C4").Sort Range("B1"), xlAscending

MSDNに書いてないけど、
恐らくsortをした範囲は並び順のデフォルト値が変わるような挙動があるっぽい
https://docs.microsoft.com/ja-jp/office/vba/api/excel.range.sort

つまり
Range("B1:C4").Sort Range("B1"), xlDescending
をした後のsortは常に降順で、
Range("B1:C4").Sort Range("B1"), xlAscending
の後は昇順になる

常に昇順・降順を指定するようなコードにすると良いと思う
0603名無しさん@そうだ選挙にいこう
垢版 |
2019/06/30(日) 11:33:57.60
>>591いや、ウィルスとかは全くない。良質なサイトと思われ。おそらく東大卒というワードに嫉妬しただけかと。
0605名無しさん@そうだ選挙にいこう
垢版 |
2019/06/30(日) 15:51:00.14
【2 Excelのバージョン   】 2013

マウス操作でCtrl押しながら離れた場所の
セルをポチポチ押しながら選択していて
間違ったセルを選択してしまった場合
そのセルだけ選択を取りやめたいのですが
どう操作すればよいのでしょうか?
0616名無しさん@そうだ選挙にいこう
垢版 |
2019/06/30(日) 20:48:32.90
>>603
上げてゴミみてーなもん張んなクソボケ!
どんな頭してんだお前、しかも「思われ」とか
クッソ久しぶりに見たわ。やっぱり死ねお前は
0620名無しさん@そうだ選挙にいこう
垢版 |
2019/07/01(月) 15:05:00.78
abcと列があって
c列の値がxの場合の、一行下のb列のセルから
c列の値がxの場合の、同じ行のa列の値に特定の数値を足した値があるa列の行と同じb列のセルまで
条件付き書式でtrueにしたいのですが、教えてもらえませんか?
比較がセル位置と値が混在しておりわかりません。
0624名無しさん@そうだ選挙にいこう
垢版 |
2019/07/02(火) 20:30:18.84
>>622
>>623
すいません。前提が漏れてましたが、A列は重複もございます。
0627名無しさん@そうだ選挙にいこう
垢版 |
2019/07/02(火) 23:21:17.07
>>626
わかる人はわかってるから
理解能力も不足ぎみ
0628名無しさん@そうだ選挙にいこう
垢版 |
2019/07/03(水) 00:49:04.72
【1 OSの種類         .】 Windows7-64bit
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 初級者
【4 VBAでの回答の可否】 可

「氏名」「生年月日」「購入日」「購入品」「個数」「送り先」「支払済」

という列からなる表が1万行くらいあります。
誰かが適当に並べ替えたりして、順はむちゃくちゃです。
この表に、二重入力があった可能性が出て来ました。これを簡単に発見するにはどうすればいいでしょうか?

氏名と生年月日と購入日と購入品と個数のすべてで重複する行を見つけたいです。

同姓同名の人もいるので生年月日との組み合わせでチェックしたいし、同じものを別の日に何回も
購入される場合もあるので、購入日と品と個数の組み合わせも必要です。
つまり、ひと項目でも違っていたら重複ではないと判断したいです。

どういう方法がいいか、ご教授ください。
0629名無しさん@そうだ選挙にいこう
垢版 |
2019/07/03(水) 00:53:53.38
エクセルに重複の削除という機能があるけど、これ、あまり信用できない。
文字列結合演算子(&)で結合して、countif関数とかで調べるか。
1万行ならvbaが速いかな。
0630名無しさん@そうだ選挙にいこう
垢版 |
2019/07/03(水) 15:13:21.43
マイクロソフトも重複削除のロジック公開しろよな
検証できない
0631名無しさん@そうだ選挙にいこう
垢版 |
2019/07/03(水) 15:35:39.47
>>628
7つの項目を&でつないだ1つの文字列にする。
購入日や数量はTEXT関数で書式指定して文字列化。
この列をCOUNTIF関数で重複チェックする。
というのは?
名前の姓名の間が、空白なし/半角ブランク/全角ブランク、の違いを別と判断すると思うけど、絞り込みとして。
0632名無しさん@そうだ選挙にいこう
垢版 |
2019/07/03(水) 19:53:59.51
オフィス更新したらMSPゴシックの英数の文字間隔が読めないほどメチャ狭くなったんだがオレだけかこれ?
0634名無しさん@そうだ選挙にいこう
垢版 |
2019/07/03(水) 22:24:02.64
>二重入力があった可能性が出て来ました。これを簡単に発見するにはどうすればいいでしょうか?

入力したやつに尋問。
性格的に、確認しないで入力しそうなやつとか、
普段から全角と半角を混在させるやつとか、
やらかしそうなやつは大体決まってるから。
0637名無しさん@そうだ選挙にいこう
垢版 |
2019/07/04(木) 04:50:03.65
教えてください。

いま、普通に市販されているMicrosoftOfficeは、期限ごとに使用料を払って使うタイプのものなのでしょうか?
私は、できれば最新のオフィスが欲しいと思っていますが、できれば最初にお金を払って買ったら
それっきりずーっと使えるタイプのものが希望です。失職して払えなくなると困るので。

少し前まで自宅PCでOffice2010を使用していましたが、壊れてしまいました。友人からPCをもらってソフトだけ
購入する予定です。どれを買えばいいのかわかりません。
2010とか2013の時代はとてもわかりやすかったのに、365とかよくわからなくなりました。

買い切りバージョンで、しかも最新のもの、解説書なんかでもちゃんと扱ってもらえてるもの、
そういうのありますか?
今はどんなものでも使用料を払っていく形が主流ですか?
0640名無しさん@そうだ選挙にいこう
垢版 |
2019/07/04(木) 22:29:52.86
>>638
この永続版のEXCELだけってないの?
0642名無しさん@そうだ選挙にいこう
垢版 |
2019/07/06(土) 18:59:01.09
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Microsoft Office 365 最新バージョン
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 否

こちらのエクセルのC列の正しい数式を教えてくださいm(__)m

https://i.imgur.com/HZpo19B.jpg

処理条件…C列の評定は、B列の点数が85以上が「5」、70〜84が「4」、55〜69が「3」、
40〜54が「2」、39以下が「1」、空欄は何も表示しない。平均はAVERAGEAVERAGE関数を使う。


C列の数式は、C4に、=IF(B4>=85,"5",IF(B4>=70,"4",IF(B4>=55,"3",IF(B4>=40,"2",IF(B4>=1,"1",IF(B4="","",))))))
と入力し、オートフィルでC23まで求められたのですが、C4からC23の平均をAVERAGE関数で求めようとすると、C24に「#DIV/0!」と表示されてしまいます。
0646名無しさん@そうだ選挙にいこう
垢版 |
2019/07/06(土) 20:42:53.49
>>643
出来ました!ありがとうございますm(__)m
>>644
どちらでも構わないです(*^_^*)
>>645
エラーには全て、「このセルにある数式は、現在空白のセルを参照しています」と表示されています。
0648名無しさん@そうだ選挙にいこう
垢版 |
2019/07/06(土) 21:22:03.38
全員含めた平均点を求めた場合 =AVERAGE(C4:C23)

点数が出ている者のセルだけで求めた場合 =AVERAGE(C4:C8,C10:C14,C16:C19,C21:C23)

両方試しましたが、結果は同じ(2.82)だったので、今回はどちらでも良いのかなと。。
そうではない場合もあるのですね。ご指摘ありがとうございますm(__)m
0651名無しさん@そうだ選挙にいこう
垢版 |
2019/07/06(土) 22:00:17.48
>>644
AVERAGE関数使うって言ってるんだから空白は件数からも対象外だろ

>>648
それ両方共に空白は含まない
空白を0として平均計算したいならAVERAGEA関数使え
てか検算ぐらいしろよ…
0653名無しさん@そうだ選挙にいこう
垢版 |
2019/07/06(土) 23:17:19.51
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Microsoft Office 2016 最新バージョン
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】 否

A列にはクラス名、B列に氏名、C列に点数がある表で、
C列は100点の場合「満点」と文字列が入ってしまってます。
満点とそれ以外に分けた上で、それぞれをクラス順に
並べ替える場合、C列の並べ替え後に満点の集まり部分と
それ以外部分でA列の並べ替え、3回に分けて並べ替えをしてる
のですが、一度にできる方法はありますでしょうか。
0660名無しさん@そうだ選挙にいこう
垢版 |
2019/07/07(日) 00:08:55.74
>>653です。
実際に扱ってる物はテストの点数ではなく、
100ではなく0の場合に理由が入力されている
ものを扱ってるのです。
例えで質問したことをお詫びします。
0661名無しさん@そうだ選挙にいこう
垢版 |
2019/07/07(日) 00:22:14.91
>>653
恐らく上司に命令されてると思うんだけど、
上司に一度「満点をどうしたいか」
を聞いてみるのもいいんじゃないかな
単純に除外したいだけなら、並び替えた後にフィルタ掛ければいいだけだ

>>659
満点は補修なしとか色々あるんだろう
これは神エクセルじゃないよ
0665名無しさん@そうだ選挙にいこう
垢版 |
2019/07/07(日) 08:55:12.83
言いたいことは分からないでもないけど、これは神エクセルじゃないっしょ。

関係ないけど、元年なんかもおかしな表記だよな。
0667名無しさん@そうだ選挙にいこう
垢版 |
2019/07/07(日) 11:01:41.87
神エクセルを方眼紙エクセルの事だと思ってるのかも知れんが、
そもそもそれは、データとして扱いにくいという所から始まってるので、
単なる0と0の混在程度でも神エクセルでいいだろう。
0671名無しさん@そうだ選挙にいこう
垢版 |
2019/07/07(日) 11:29:19.05
>>669
取れる

ただ、参考書は絶対に必要
メルカリとかで2000円ぐらいで売ってるからそれ買って、模試を5,6回やればまず受かる
受かったらまたメルカリに流せば良い
0674名無しさん@そうだ選挙にいこう
垢版 |
2019/07/07(日) 12:47:30.59
>>667
じゃあ0は全部全角で統一するわ
0679名無しさん@そうだ選挙にいこう
垢版 |
2019/07/07(日) 18:22:59.91
667 名無しさん@そうだ選挙にいこう sage 2019/07/07(日) 11:01:41.87
神エクセルを方眼紙エクセルの事だと思ってるのかも知れんが、
そもそもそれは、データとして扱いにくいという所から始まってるので、
単なる0と0の混在程度でも神エクセルでいいだろう。
0680名無しさん@そうだ選挙にいこう
垢版 |
2019/07/07(日) 18:24:18.50
テンキーで数字を打つと自動的に半角になるけど
ノートだと全角のままなのがめんどうくさいよね
0687名無しさん@そうだ選挙にいこう
垢版 |
2019/07/07(日) 20:14:43.07
>>669
独学でも最低限使える人なら、難しくはないと思う。全然使えない人には難しいかも。
注意点としては、問題集と受けるver.は合わせること。
問題集が2013で、受けるのは2016とかは、やめた方がいい。問題の出し方が違うので。
0689名無しさん@そうだ選挙にいこう
垢版 |
2019/07/07(日) 21:26:23.83
>>687
ありがとうございます。
2016を取ろうと思います。エキスパートは普段使わないような関数も出るみたいなんでしっかり対策をしたいと思います!
0690名無しさん@そうだ選挙にいこう
垢版 |
2019/07/08(月) 11:53:23.19
エクセル等の表計算ソフトで簡単なリストを作りたいと思ってます。パソコンで作成した後 Androidスマホで追加入力や訂正できるようなものを希望しています。お勧めのソフトがあれば 宜しくお願いします。
0693名無しさん@そうだ選挙にいこう
垢版 |
2019/07/08(月) 12:19:44.68
>>692
有難うございます。
マイクロソフトのエクセルオンラインと比べて どちらが良いと思いますか?
0695名無しさん@そうだ選挙にいこう
垢版 |
2019/07/08(月) 19:04:32.76
> MSアカウントは2年使わないと消滅する恐ろしい仕様
そんなに長期間使わないことをこのスレで考える事がナンセンス
バカじゃねぇの?
0705名無しさん@そうだ選挙にいこう
垢版 |
2019/07/08(月) 23:41:59.09
いっぺんでも使えばわかるが、Android版のExcelは使い物にならん
ブックはPCで作って、スマホは単なるビューアと割り切るぐらいじゃないと

>>690の用途ならギリ使えるレベル
0707名無しさん@そうだ選挙にいこう
垢版 |
2019/07/09(火) 11:17:14.26
以下の例題のような2つの数値範囲の重なる最小値と最大値を
関数を使って一発で求めることはできますか?

例題
以下AとBの重なり最小値と最大値は?
A.最小値:1  最大値:10
B.最小値:6  最大値:12

答え:最小値:6  最大値:10
0709名無しさん@そうだ選挙にいこう
垢版 |
2019/07/09(火) 12:45:35.39
>>708
それ重なりがない場合OUT!ww
VBA組んだほうがいいべ
0710名無しさん@そうだ選挙にいこう
垢版 |
2019/07/09(火) 12:56:18.36
重なりの判定ぐらい簡単にできるだろ
最大値 =IF(OR(A大<=B小,B大<=A小),MIN(A大, B大),"重なってない")
最小値 =IF(OR(A大<=B小,B大<=A小),MAX(A小, B小),"重なってない")
0713名無しさん@そうだ選挙にいこう
垢版 |
2019/07/09(火) 21:49:36.52
ウェブフォームにエクセルにA1〜A2000に記載されている文字列を10個ごとに分けて貼り付けて送信ボタンを押したいです
どうすればよいでしょうか?
A1にかかれている、文字列を貼り付けて送信は出来たのですが、複数貼り付けてが出来ません
マクロ初心者です
ウェブフォームの自動ログインするページを参考にしてやりました
0720名無しさん@そうだ選挙にいこう
垢版 |
2019/07/09(火) 23:03:56.16
一緒に画面見ながらこれをこうしたいとか話して貰えたら大抵解決出来そうだけど、エスパーが文面だけで解決してるの見て感心してる
0721名無しさん@そうだ選挙にいこう
垢版 |
2019/07/10(水) 00:01:59.90
>>719
そもそもの目的がわかれば、もっと簡単な方法を提示できるかも知れないし。
どうもね、回りくどい方法に、難しい方法を回答してるような気がするんだけど。
0722名無しさん@そうだ選挙にいこう
垢版 |
2019/07/10(水) 00:15:32.58
>>721
長年ここにいるけど、そもそもの目的を的確に出す奴はおらん
そんな奴はとっくに技術を自分で得て自己解決しとるわ

ワークブックの構成を聞くのは良いと思うけど、仕事のルーチンを聞いてももう仕方ない
0724名無しさん@そうだ選挙にいこう
垢版 |
2019/07/10(水) 07:59:54.24
フォームだったら営業爆撃では?
買い物だったらサイトによって項目の並びが違ったりするから10個ごとってざっくりしたやり方じゃ失敗しそう
0725名無しさん@そうだ選挙にいこう
垢版 |
2019/07/10(水) 11:07:06.04
AndroidのスマホでExcel使ってる人いますか?
文字数に合わせてセル幅を広げることが うまくいかないのですが どうやってするのですか?
0726725
垢版 |
2019/07/10(水) 12:14:18.64
マイクロソフトのですが
操作方法はネット上にありますか?
0728725
垢版 |
2019/07/10(水) 13:04:42.44
有難うございます
やってみます
0729名無しさん@そうだ選挙にいこう
垢版 |
2019/07/10(水) 19:26:20.85
【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
Excel VBAからWordを呼び出す基本的な操作についての質問
ライブラリ(Microsoft Word 16.0 Object Library)の参照は設定済みです。
例えばExcelからダイアログボックスを使用してファイルを開く場合、どんなコードを組めばいいのか教えて頂けないでしょうか。
ExcelならGetOpenFilenameで.docxのフルパスを取得して、Workbooks.Openに渡してるんですけど。
あとWordを開いた後の操作のサンプル、例えば特定の文字列を置換するコードを作って頂けないでしょうか。
Word VBAのコードをそのまま使えるのか、それとも毎回Wordのオブジェクトの指定が必要なのかわからないもので。
0731名無しさん@そうだ選挙にいこう
垢版 |
2019/07/10(水) 19:59:50.91
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel*
【3 VBAが使えるか    .】 負荷
【4 VBAでの回答の可否】 負荷

すいませんexcelの問題がレポートで出題されたんですけど
全く分からないので解いてください・・・

例題1の表を見て2,3を答えよって問題なのですが・・
例題1↓
https://gyazo.com/09fca1ee73fb7c9e157e34b8087266aa
問題2↓
https://gyazo.com/91b5a7da5245d2ff536597fcf7414b13
問題3↓
https://gyazo.com/1c48e5087536c8b403b6f8ef9131b00c

自分なりにググっても全く解けないのでどうかお願い致しますm(_ _)m
0735731
垢版 |
2019/07/10(水) 23:11:01.58
https://gyazo.com/09fca1ee73fb7c9e157e34b8087266aa
↑の表を見て

↓の下記を答える問題なのですが無理そうですか・・
https://gyazo.com/580a72fd106cc069aa9b0cd9a9f2afb6 ←(見づらいですがF5に設定する関数を用いた式を答えなさいと書いてあります)
https://gyazo.com/49eb684627dea2faa9fd552b448a9264
https://gyazo.com/dc64ccb5cfe75c87ef7370257ca85e91

サボろうと思ったんですが単位取れなくなるみたいなので何卒お願いします;
0736名無しさん@そうだ選挙にいこう
垢版 |
2019/07/11(木) 00:44:00.31
写真が見づらすぎる
もうちょっとまっすぐに撮れない?

問(1) =B5*SUM(C5:E5)

問(3)は「処理条件」が途中で切れてて解けない
0738名無しさん@そうだ選挙にいこう
垢版 |
2019/07/11(木) 01:06:27.76
↑問4、問5。

そんなことより、将来Excel使う仕事に就くなら、サボらない方がいいよ。
ウチの会社にも、Excel使えない新人が来て苦戦してる。
計算式がわからない→手入力→仕事終わらない、みたいな。
0740名無しさん@そうだ選挙にいこう
垢版 |
2019/07/11(木) 06:34:19.65
>>739
大学生か専門学生か分からないけど、
excel無しで仕事してるのって書類仕事ゼロのサービス系パートや肉体労働の否管理職くらいだと思うよ

ITじゃないところの事務どころか
サービス業の社員でも売上管理とかシフト作成で使う可能性高いから
IT行かないんで単位取れたらやらなくていい
にはならない
0743名無しさん@そうだ選挙にいこう
垢版 |
2019/07/11(木) 18:43:36.23
名前を付けて保存をできなくする方法ってありますか?

データを更新したら上書き保存で保存していくのですが
馬鹿な人が名前を付けて保存してしまい
ファイルが重複してしまうトラブルが多発してしまいます
0746名無しさん@そうだ選挙にいこう
垢版 |
2019/07/11(木) 19:18:47.59
横だけど

>>745
savebeforeで常にキャンセルし、保存は特定の動作でしかできないようにする
しかしファイルごとコピーされたらどうしようもない
0747731
垢版 |
2019/07/11(木) 20:02:01.96
>>740
全くの正論なのですが他の教科のものも溜まってる状態でじっくり腰を据えてやるって時間がなくて…
ですのでお願いします;
>>742
すいません撮ってない箇所が一箇所ありました。

これが問題のexcel表で
https://gyazo.com/09fca1ee73fb7c9e157e34b8087266aa
処理条件がこれで
https://gyazo.com/ea0a04a984a92f0cdf4fb02024003e06
問題が↓です
https://gyazo.com/91b5a7da5245d2ff536597fcf7414b13
https://gyazo.com/144a8129178f4ffbd964e9aceecf139c
https://gyazo.com/a594b3ad8a5fbbd0f1195b686e0732d8

何度もすいませんがお願い致します。
0748名無しさん@そうだ選挙にいこう
垢版 |
2019/07/11(木) 20:07:58.40
エクセルを使ってデータ入力したり資料作ったりするときに
コピー代わりにオートフィルは推奨してないと言われたのですが理由がよくわかりません
低レベルな質問かもしれませんがなぜだと思われますか?
0749名無しさん@そうだ選挙にいこう
垢版 |
2019/07/11(木) 20:29:05.54
>>748
俺にもわからん
せっかくの便利機能は適切に使えばいいだけだと思うが

オートフィルは機能が多すぎて、正確に把握してないと予想外の結果になるとか?
ならば、コピペもけっこう危険なんだけどな

意味不明な主張をした本人に聞くしか
0750名無しさん@そうだ選挙にいこう
垢版 |
2019/07/11(木) 20:40:09.65
>>749
会社が下請けみたいなものだから上司も本当は使ったらダメなんだけど
とか言いながら使ってますけどね

数式とかじゃなく文章のコピペ代わりに使うのも駄目らしいから意味がわかりません
使わないと時間が倍変わってもおかしくないからそう言われながらも使ってますけど

ちなみに手入力でもオートフィルで入力したのでも
エクセル見ただけではわかりませんよね?
0752名無しさん@そうだ選挙にいこう
垢版 |
2019/07/11(木) 21:54:58.22
オートフィルは書式を破壊することがあるし、フィルターかかった状態で使うと隠れた部分のデータまで上書きするから、
自分しか使わないファイルとか一から自分で作るファイル以外では使わん方が無難かな
0754名無しさん@そうだ選挙にいこう
垢版 |
2019/07/11(木) 22:18:28.94
>>752
書式はコピーなしにすればいいだけだと思うんだけどな
時間短縮より下手にいじられる方が怖いのだろうか
0757名無しさん@そうだ選挙にいこう
垢版 |
2019/07/11(木) 22:27:02.84
>>756
当然そんなところはいじらないから
楽にやれるところは使わせてくれと思うんですけどね
0758名無しさん@そうだ選挙にいこう
垢版 |
2019/07/11(木) 22:38:22.85
>>747
う〜〜〜ん
こういっちゃなんだけど、これぐらいの事が出来ない+時間管理も出来ない+写真もまともに撮れない(暗すぎると思わないかな)、
そんな人が社会に出ないで欲しいんだ
言葉遣いは丁寧だけど、自分のための言葉遣いってのが伝わってきてあまり良い印象ではないんだ

何か君が社会に出て来てメリットになるようなお話があれば、喜んで回答するんだけど

>>748
条件付き書式、背景色の上書き
0761名無しさん@そうだ選挙にいこう
垢版 |
2019/07/11(木) 23:23:17.39
>>760
どういうこと?
0763743
垢版 |
2019/07/11(木) 23:40:33.62
結局 出来ないのか・・・
0767名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 00:11:34.61
A1のセルに19-A100と入力したら自動的にC1のセルに19-A101
E1のセルに19-A102といった風に連番で出るようにしたいのですが
どうしたらよいでしょうか?
0768名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 03:46:27.78
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

たとえばA1のセルに5と入力したらB1〜B5まで順番に1・2・3・4・5と表示され、
その次のA6のセルに3と入力したらB6〜B8まで1・2・3と表示される
このようなことが出来る関数とかないでしょうか
抽象的な質問で申し訳ないですがよろしくお願いします
0769名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 04:16:09.53
>>768
1行目は列名を入れるとして
B2に =IFERROR( IF(A2<>"",1, IF(OFFSET(B2,-B1,-1)=B1,"", B1+1)),"")
下方向のセルにコピー
0770名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 04:23:09.90
>>767
C2に =LEFT(A1,4)&VALUE(RIGHT(A1,3)+1)
B1:C1を選択して右に好きなだけフィルコピー
0771名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 04:29:35.28
訂正
>>767
C1に =LEFT(A1,4)&VALUE(RIGHT(A1,3)+1)
B1:C1を選択して右に好きなだけフィルコピー
0772名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 04:32:02.22
5 1
2
3
4
5
3 1
2
3

>>769
ヒントだけでも貰えたらと思ったのに一発で解決しましたありがとうございます!
0775名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 10:35:25.86
>>763
自動バックアップの間隔を短くして、Workbook_BeforeSaveで勝手な保存を禁止して、Workbook_BeforeCloseで決められた名前に戻すとか
厳密に検証してないから、どのイベントの組み合わせが有効かは今は明言できないけど

ただし、こういう方法はあらゆるブックに仕込む必要があるから面倒なんだよな
外部にファイルの作成を監視するアプリを置ければいいんだけど
0777名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 12:53:57.55
>>771
ありがとうございます。
19-A100なら連番になっていくのですが
19-A001と入れると19-A2となってしまい00が
前に入りません。002 003となるにはどうすれば良いでしょうか?
0778名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 16:47:59.70
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel
【3 VBAが使えるか    .】 不可
【4 VBAでの回答の可否】 不可

Excel表: https://gyazo.com/09fca1ee73fb7c9e157e34b8087266aa
処理条件: https://gyazo.com/ea0a04a984a92f0cdf4fb02024003e06

問題1: https://gyazo.com/91b5a7da5245d2ff536597fcf7414b13
問題2: https://gyazo.com/7bebc69a5a6ef8e282adfdf814311a72
問題3: https://gyazo.com/c55982b0303f977923d30dd1c46ec9d2
問題4: https://gyazo.com/deb035bd0a7e3e3118e3bfac5ef26071

上記の問題が全く分からないので答えを教えてほしいです。
前回gdgdになってしまったので問題文を全て撮り直しました。
excel表と処理条件を見て解く問題です よろしくお願い致します。
0785名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 19:39:19.18
>>782
gdgdで収拾つかなくなってるので仕方ないじゃないですか(´・ω・`)
最初から全く質問に答える気がないから結果的にマルチになってしまいます
0789778
垢版 |
2019/07/12(金) 20:59:17.25
撮り直したので質問を見ていただきたいです(´・ω・`)
0794名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 21:49:45.37
質問よろしいでしょうか?
【1 OSの種類        .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 勉強中
【4 VBAでの回答の可否】 否
変換などで作成したCSVなどのファイルをはじめて開くと必ず初期値が100%表示・セル幅8.38の固定なのですが、
これを好みの値に設定する方法はないでしょうか?
0796名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 22:00:13.88
795様
早速の返信をありがとうございます。
やってみます。
0797名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 22:04:29.43
>>792
いないですね・・・
自分のいる底辺高校の性質上、他人とあまり関わることがないです(´・ω・`)
レポートの問題全て解答してくれと言ってるわけではなく残りの7問解答してほしいだけなので
なんとかしていただけませんか
0800名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 22:15:57.75
>>799
ありがとうございます。確かに見直したら教えてくれてる方一人いましたね。
ただこちらで教えてくださった方の答えと照らし合わせたら食い違ってる答えが多かったのと
スレの流れからして嘘を教えてるんじゃないか?という判断であちらは中断しました
0802名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 22:20:20.63
高校生だろ?
もしかして、そもそも躓いているところが違うんじゃないの?
行と列の縦横がわからないとか、単価の意味が分からないとか?
0805名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 22:31:44.59
vbaスレ見て分かった、エクセルを使った事が無いらしい
まぁ高校なら出席日数足りてりゃ卒業できるし、補修ヤリたくなかっただけだろ
0806名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 22:36:41.63
試験でも小論文でもないけど
期日までに全て正解した状態で完了しないと出席足りてても単位にならないみたいなので
なので困ってます
0808名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 22:39:25.65
どんな学校だそれwwww
誰かに嘘を吹き込まれてないか!?
小学校6年生になったら、機械式の物凄く痛い注射をされます、みたいなさ。
0809名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 22:45:16.80
>>807
期日は7/24です。一見長いように見えますが提出してから返却するまでに時間がかかるので
1,2回しか提出チャンスはないです。だからなるべく一回で済ませたいと此処の方に頼ってます
0811名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 22:50:55.39
凄い高校だなそりゃ。
計算式を入れて送信ボタン押すと、生徒の回答がVBAで自動集計されるとか、そういうの無いのかよ。
エクセルの問題を紙で出題って、昭和の発想だぞ。
0814名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 22:57:22.88
>>809
余裕ありそうに見えるけどもしかして定時制とか?
先生に分からないところ質問した方がいいと思うよ
自分も高校の時情報処理テスト落としたら赤点って言われたけど頑張ってる姿勢を見せたら免除された
上手く立ち回りな
0815名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 22:58:24.85
EXCEL使ってて気づいたんだけど、
フォーメーションZって、あれ絶対多重スクロールがやりたかっただけだよな。
意味はないけど、面白そうだからVBAでやってみたかったって感じによく似てる。
0818名無しさん@そうだ選挙にいこう
垢版 |
2019/07/12(金) 23:19:43.36
D3セルの数値が,A1〜A10の範囲に存在し,かつそのA列セル右隣のB列セルが0であった場合に色を付ける

という条件付き書籍ではどのような数式を書けばいいのでしょうか?
↓では駄目なようです。

=offset(countif($A$1:$A$10,$D$3),0,1)=0
0821Mambow
垢版 |
2019/07/13(土) 00:54:20.99
>>818
=SUMPRODUCT((A1:A10=D3)*(B1:B10=0)*(B1:B10<>""))>0
0823名無しさん@そうだ選挙にいこう
垢版 |
2019/07/13(土) 02:11:57.00
最近Excelしかやってなくてもともとパソコン関連みたいなの苦手です
メッセージボックスをOK押さなくても消えるようにWindowsのスプリクト使って組んでそれはうまくいったんですが
そういうVBAでやりきれないことをやるものって何を勉強したら使えるようになるんでしょうか?
Excelのエキスパートまで取り終わったからaccess始めたけど面白くなくて
やっぱりExcelに役立つものやりたいなと思ってます
0825名無しさん@そうだ選挙にいこう
垢版 |
2019/07/13(土) 02:36:05.51
>>824
アプリを作るって発想がなかったけどそうですね
バーコード作るのとか利用してるけどそっち作ればいいのか
ちょっと検討してみます
ありがとうございます
0829たすけて。。
垢版 |
2019/07/14(日) 13:45:28.19
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013 Word2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可(優しめでお願いします)

エクセルにある複数のシートのセルの値を読み込んでワードで文書をつくりたい。

エクセルとワードのデータ連携は、「差し込み印刷」の作成と近いのだけど、
「差し込み印刷」はエクセルの行データから、次々にラベル欄を作っているのに対して

私がやりたいのは、複数のシートから複数のセルのテキストデータを個別に読み込んで
1枚のワード文書を作成させたい。

「ワード エクセルデータ フィールド」で検索しても「差し込み印刷」の方法しか見当たらない。
何か良い方法。参考になるサイトありますでしょうか?
0830名無しさん@そうだ選挙にいこう
垢版 |
2019/07/14(日) 14:01:03.66
「複数のシートから複数のセルのテキストデータを使って、1枚のワード文書を作りたい」
↑説明として雑すぎる
データベースとレポートの関係に近く見えるので、一般的にはAccessとかのDBツールの範疇
あくまでWordにこだわるならVBAでゴリゴリ処理を作成するしかないだろう
0831Mambow
垢版 |
2019/07/14(日) 14:09:37.77
>>829
Excelに各シートにどういう形式でデータがあるか具体的に書かないとアドバイスできないな
0832名無しさん@そうだ選挙にいこう
垢版 |
2019/07/14(日) 14:12:02.19
最後のWord文書が定型で、データを埋め込む場所が固定なら、
複数シートのデータを一つのシートにまとめるマクロ組んで差し込みにした方が簡単じゃないかな
0833たすけて。。
垢版 |
2019/07/14(日) 14:19:09.65
ありがとうございます。

抽出するエクセルのセルデータの数が、200件ほどあって
列ごとに一つのデータがまとまっているわけでないです。

「差し込み印刷」みたいな、列ごとにデータをまとめてラベルを印刷するわけでないので、
もしかしたら便利な方法があるかなあと思いました。

>データベースとレポートの関係に近く見えるので、一般的にはAccessとかのDBツールの範疇
>あくまでWordにこだわるならVBAでゴリゴリ処理を作成するしかないだろう

まさにそのヒントが欲しかったです。VBAで何とかしてみます。
ありがとうございます。
0834たすけて。。
垢版 |
2019/07/14(日) 14:23:27.58
すいません。。

×
「差し込み印刷」みたいな、列ごとにデータをまとめてラベルを印刷するわけでないので、

「差し込み印刷」みたいな、行ごとにデータをまとめてラベルを印刷するわけでないので、
0835名無しさん@そうだ選挙にいこう
垢版 |
2019/07/14(日) 14:30:22.00
>>831
ありがとうございます。抽出するセルの数が多すぎて、
具体的に説明するにはちょっと時間がかかるのですいません。
セルのデータ自体はただのテキストデータです。

>>832
>最後のWord文書が定型で、データを埋め込む場所が固定なら、
>複数シートのデータを一つのシートにまとめるマクロ組んで差し込みにした方が簡単じゃないかな
私もそう思いました。ありがとうございます!
0836たすけて。。
垢版 |
2019/07/14(日) 17:34:25.66
取り急ぎなのですが、monthProgramiというシートのオブジェクトにある、B列2行目から値がある場合、sという文字列オブジェクトに値を加えようとするループです。
VBAは久しぶりすぎて、戸惑ってます。
::::::::::::::::::::::::::
monthProgramiというシートオブジェクト
B列
(B1)週間テーマ
(B2)読む・書く
(B3)対人関係
(B4)家事
(B5)#N/A
::::::::::::::::::::::::::
VBAを実行すると
「読む・書く,対人関係,家事」
と出力されればOKです。
::::::::::::::::::::::::::
こう書いてみましたが、、どこが悪いでしょうか?

Sub プログラム結合版()
Dim i As Long
Dim s As String
i = 2
Do While Cells(i, 2) <> "" _
s += monthProgram.Cells(i,2).Value _
s += "," _
i += 1
Loop
Debug.Print (s)
End Sub
0837名無しさん@そうだ選挙にいこう
垢版 |
2019/07/14(日) 17:36:16.88
>>835
Excelのセルに入った大量の文章は、メモ帳経由でコピペすれば単なるテキストに変換されるよ

Excelでコピー
メモ帳にペースト
メモ帳でコピー
Wordにペースト

こんだけの簡単な作業
0838たすけて。。
垢版 |
2019/07/14(日) 17:36:41.32
すいません。
×
monthProgrami

monthProgram
です。。。
0839たすけて。。
垢版 |
2019/07/14(日) 17:41:55.88
>>837
ありがとうございます。
単にコピペするのでなくて、必要なセルだけを抽出して、Wordファイルを完成させるのです。。
0840名無しさん@そうだ選挙にいこう
垢版 |
2019/07/14(日) 17:42:59.74
>>836
Sub プログラム結合版()
  Dim i As Long
  Dim s As String
  i = 2
  Do While Cells(i, 2) <> "" And Not IsError(Cells(i, 2).Value)
    s = s + Worksheets("monthProgram").Cells(i, 2).Value
    s = s + ","
    i = i + 1
  Loop
  s = Left(s, Len(s) - 1)
  Debug.Print (s)
End Sub
0841たすけて。。
垢版 |
2019/07/14(日) 17:57:33.72
>>840
ありがとうございます。
「オブジェクトが有効範囲にありません」というエラーが返ってきます。
オブジェクト名は正しいはずなのですが、、
コードの問題でなく、何かのエクセルの環境ですよね。
0842たすけて。。
垢版 |
2019/07/14(日) 18:09:20.28
自己解決しました
>>840のコードを次のように変更したら正しく出力されました!!!
>>840さんありがとうございました。

s = s + Worksheets("monthProgram").Cells(i, 2).Value

s = s + monthProgram.Cells(i, 2).Value
0844たすけて。。
垢版 |
2019/07/14(日) 19:47:08.99
度々すいません。先のものを発展させて、次のようにエクセルデータがあります
A B C
1 日程 週間テーマ
2 12月2日〜 読む・書く 作文
3 12月9日〜 対人関係 会話のマナー
4 12月16日〜 家事 料理
5
6
7
8 作成年度
9 2018
10 作成月
11 12
:::::::::::::::::::::::::::::::::::下のように出力したい:::::::::::::::::::::::::::::::::::
【2018年度プログラム結合版、プログラム表紙、カリキュラム】
2018年度12月 2018年12月 [大テーマ]読む・書く,対人関係,家事 [小テーマ] 作文, 会話のマナー,料理
0845たすけて。。
垢版 |
2019/07/14(日) 19:47:53.67
:::::::::::::::::::::::::::::::::::作ったソース:::::::::::::::::::::::::::::::::::
Sub プログラム結合版()
Dim i As Long
Dim h As String
Dim s As String
Dim yyyy As String
Dim mm As String
yyyy = Str(monthProgram.Cells(9, 1).Value)
mm = Str(monthProgram.Cells(11, 1).Value)
h = "【" + yyyy + "年度プログラム結合版、プログラム表紙、カリキュラム】"
s = yyyy + "年度" + mm + "月" + yyyy + "年" + mm + " 月[大テーマ]"
i = 2
Do While Cells(i, 2) <> "" And Not IsError(monthProgram.Cells(i, 2).Value)
s = s + monthProgram.Cells(i, 2).Value
s = s + ","
i = i + 1
Loop
s = Left(s, Len(s) - 1)
s = s + "[小テーマ]"
i = 2
Do While Cells(i, 3) <> "" And Not IsError(monthProgram.Cells(i, 3).Value)
s = s + monthProgram.Cells(i, 3).Value
s = s + ","
i = i + 1
Loop
s = Left(s, Len(s) - 1)
Debug.Print (h)
Debug.Print (s)
End Sub
動きません。何がわるいでしょうか??
0846たすけて。。
垢版 |
2019/07/14(日) 19:52:34.14
あ、TABが効かないのかあ。これでわかるのかな。。

-, A, B, C,
1, 日程, 週間テーマ,
2, 12月2日〜, 読む・書く, 作文,
3, 12月9日〜, 対人関係, 会話のマナー,
4, 12月16日〜, 家事, 料理,
5,
6,
7,
8, 作成年度,
9, 2018,
10, 作成月,
11, 12,
0849名無しさん@そうだ選挙にいこう
垢版 |
2019/07/14(日) 21:35:51.15
詳しく見てないけどyyyy=の行で止まるんじゃないか
monthProgram. となってるとこworksheet("monthProgram").cells(〜 では?
シート名が何か分からんけども
0851たすけて。。
垢版 |
2019/07/14(日) 22:32:26.27
>849さん
ありがとうございます。

実際のエクセルでのワークシート名は「学期別カリキュラム」です。なので指摘どおり、
yyyy = Str(monthProgram.Cells(9,1).Value)

yyyy = Str("Worksheet("学期別カリキュラム").Cells(9,1).Value)
と記述してみますと、コンパイルエラーが出てしまいます。

yyyy = Str(monthProgram.Cells(9,1).Value)
だと、エラーも出力もないです。。

VBAは一筋縄ではいけないですねえええ。。
0852たすけて。。
垢版 |
2019/07/14(日) 22:44:19.05
失礼しました。
間違えてました、以下のとおりだとエラーはでません。
×
yyyy = Str("Worksheet("学期別カリキュラム").Cells(9,1).Value)

yyyy = Str("Worksheets("学期別カリキュラム").Cells(9,1).Value)

ただ、エラーも出ませんが、出力もでません。。。
0853名無しさん@そうだ選挙にいこう
垢版 |
2019/07/14(日) 22:48:39.01
>>852
まだ書き間違いしてる
変な位置にダブルクォートが入ってるから、それでもエラーが出るはず
それはともかくStrを外してみ

yyyy = Worksheets("学期別カリキュラム").Cells(9,1).Value
0854たすけて。。
垢版 |
2019/07/14(日) 22:58:51.44
>>853
できた!!!!
ありがとうございます。

Strが問題だったのかなあ。
0855たすけて。。
垢版 |
2019/07/14(日) 23:12:23.86
ご報告。。
ワークシートの書き方については、どちらでも行けました。

yyyy = Worksheets("学期別カリキュラム").Cells(9,1).Value
yyyy = monthProgram.Cells(9, 1).Value

Str()がダメだったみたいです。
×
yyyy = Str(Worksheet("学期別カリキュラム").Cells(11, 1).Value)
yyyy = Str(monthProgram.Cells(9, 1).Value)

皆さん。ありがとうございました。よい勉強をさせていただきました。
0857名無しさん@そうだ選挙にいこう
垢版 |
2019/07/14(日) 23:51:31.12
ダウンロードしてないからどんなデータが入ってるか確認してないけど、
Strを使って何も表示されないんだったら、数字じゃないデータが入ってんだから消すのが手っ取り早い
CStrを使っても同じこと
0859野菜一日これ一本
垢版 |
2019/07/15(月) 23:51:38.45
&#9745;
0860野菜一日これ一本
垢版 |
2019/07/16(火) 00:00:21.94
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013 Word2013
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可(優しめでお願いします)

セルにフォームコントロールで「チェックボックス」を張り付けたのですが、
セルのアドレスを指定して、チェックしている名前を取得できますか?

例えば
A3 ■鹿児島 □宮崎 ■大分 □佐賀
A4 □鹿児島 □宮崎 ■大分 □佐賀

A3の「鹿児島」、「大分」にチェック、A4で「大分」のみにチェック
してあったとして、

A3のセルのチェックを調べて「鹿児島」「大分」が返ってくる
A4のセルのチェックを調べて「大分」が返ってくる
のようなVBAの命令文があれば教えてください。
0861名無しさん@そうだ選挙にいこう
垢版 |
2019/07/16(火) 04:27:25.99
ActiveXコントロールならできますが
フォームコントロールはセルとリンクさせてそれを取得するしかできないんじゃないかな
0865名無しさん@そうだ選挙にいこう
垢版 |
2019/07/17(水) 00:03:58.87
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 否

エクセルに挿入した画像の下にあるセルに数値を入力する方法はありますか?
具体的は測定器が5個写っている画像があって、測定器の数値を表示する部分のセルに数値を入力したいです

データ1は測定器A、Cの測定値を元に算出、データ2は測定器B、Dの測定値を元に算出・・・
といった感じの作業を電卓や暗算で行っていましたが、Win7機の入れ替えで端末が余ったので管理図置き場に設置しました

一応は画像の挿入を無しに測定器A、B、C、D、Eの測定値を入力して欲しいデータを表示させるようにはしましたが、
折角だから見たまんまで入力すればもっと分かりやすいのでは?と思い質問してみました
0869名無しさん@そうだ選挙にいこう
垢版 |
2019/07/18(木) 02:21:52.03
今年の1月に
Microsoft Excel 2019(最新 永続版)|オンラインコード版|Windows10/mac対応|PC2台を購入して、今使ってるPCとMacBook Airにインストールしています。
PCの方を新調するのですが、ライセンスの移行は認められているらしく、手順はこう書かれています。
現在使っているPCのExcelをアンインストール。新しい方のPCにインストール。
これってアンインストールした事がトリガーになってるんでしょうか?ライセンス違反して3台に使うつもりはありませんが、PC音痴なので、いざアンインストールして新しいのに移行出来なかったら怖いなぁって思ってるんです。
アンインストールがトリガーじゃなければ新しいので起動成功を確認してからアンインストールしようと思うのですがどうなんですか?
0870名無しさん@そうだ選挙にいこう
垢版 |
2019/07/18(木) 03:48:50.89
>>869
多分、アンインストールではトリガーにならなくて、
MSサイトの自アカウント情報ページに開いて、
コンピュータ名等で登録されているインストール済デバイスの一覧から、
古いPCを消せば良いとか?
それで台数条件満たせば認証が通ってupdate可能になるのでは?
0872名無しさん@そうだ選挙にいこう
垢版 |
2019/07/18(木) 23:14:44.12
昔エクセル詳しくなりたいんでセミナーでも
受けたらいいですかって聞いたら
セミナーとか何時の時代の人間だよww
そんなもの時間と金の無駄だからwww
ってめちゃくちゃ草生やされた;;;

でも今は、確かにセミナーは無いよなって思う
ネットでいくらでも調べれるし、自分で調べたほうが
ちゃんと身につくし、モチベーションも維持できるし
先輩の言ってること正しかったんだな…
0874名無しさん@そうだ選挙にいこう
垢版 |
2019/07/19(金) 06:19:45.55
   ,r´⌒ヽ,⌒ヽ,ヽ
   (⌒)、   .人  λ\、 .___
    \. \    、 ヽ./ ー  ー\
     |\ \    ヽ./ ( ●) ( ●)
     |  \  \ /     (__人__) \  はいはい、どーもすみませんでした
     |.   \   |       ` ⌒´   |
  .   |.   |.\_ノ\            /
  .   |.   |   |   \______/
  .   |   )  .|       ̄ ̄
  .   |   |  .|
     |   |.|  .|
  .   |  | .| .|
     /  / / ヽ,
    (__ノ  ヽ、__つ
0876名無しさん@そうだ選挙にいこう
垢版 |
2019/07/19(金) 12:57:15.18
オートフィルについてです

例えば
セルA1 =a!A1
セルB1 =b!A1

としたとき、
オートフィルで横に伸ばすと
セルC1 =a!C1
セルD1 =b!C1
こうなりますよね?

これを
セルC1 =a!B2
セルD1 =b!B2
こういう風にオートフィルしていくような手順ってありませんか?
0878名無しさん@そうだ選挙にいこう
垢版 |
2019/07/19(金) 18:27:27.94
vlookupで文字列とかで検索出来てないのはわかるんだけど
数値に直したあともセルにF2なり触らないと反応しないのって仕様なのか?
0885名無しさん@そうだ選挙にいこう
垢版 |
2019/07/21(日) 13:25:34.36
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2016
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

ゲームの対応表について
同種族のキャラを集めて戦う、というゲームで対応表を作ろうと思っています。
キャラそれぞれに種族の名前を定義して種族の数を数えることはできました。
しかし、種族の数に対応させてキャラを表示させる方法が思いつきません。
何かいいアイデアはないでしょうか?

分かりにくい説明ですみません。
https://dotup.org/uploda/dotup.org1902048.xlsx.html
0888名無しさん@そうだ選挙にいこう
垢版 |
2019/07/21(日) 23:10:21.83
>>887
同じくwwww
超余裕だろうと思ったが、全然わからんwwww

データベースのセルD9。
ジャイロコプターなんて言葉を聞いたのは、
じゃあまん探偵団魔麟組以降、30数年振りだわ。
0889名無しさん@そうだ選挙にいこう
垢版 |
2019/07/22(月) 19:02:18.63
質問させて下さい。

A1から下方向に会社名を入れていきます。

B1から下方向にA列に入力された会社名を参照したいです。

条件として重複するものは一つだけを参照して、B列は空欄を作らず、詰めて参照したいです。

空欄を作っていいのであれば出来ました。以下の数式です。

=IF(COUNTIF($A$1:A1,A1)=1,A1,"")

よろしくお願いします。
0890名無しさん@そうだ選挙にいこう
垢版 |
2019/07/22(月) 21:37:49.27
>>889
名寄せしたいってこと?
0891名無しさん@そうだ選挙にいこう
垢版 |
2019/07/22(月) 22:07:11.09
>>890

はい、重複データは飛ばないようにしたいです。

AB
11
22
27
73
34
35
3
4
1
5

文字と数値も同じだと思いますので、上の様な感じにしたいです。
0892名無しさん@そうだ選挙にいこう
垢版 |
2019/07/22(月) 22:25:43.80
>>891
A列がソートされてるなら簡単。
1行目に1を入れる。
2行目以降は、A列のセルの上下を比較して、値が変わったら、1つ上の行の値に+1する。
変わらなかったら、1つ上の値をそのまま参照。
あとはRow()を引数にしてMatchすれば、行番号が取れるので、Indexするだけ。
0894名無しさん@そうだ選挙にいこう
垢版 |
2019/07/22(月) 22:37:35.64
>>893
それならちょっと変えて。
CountIfで1になるやつだけ拾っていけばいいかな。
もちろん計算式が入っている行より上を参照するCountIfで。
0895名無しさん@そうだ選挙にいこう
垢版 |
2019/07/22(月) 22:38:46.42
ソートされていなくてもmatchの0でイケるじゃん
0896名無しさん@そうだ選挙にいこう
垢版 |
2019/07/22(月) 22:50:21.33
>>889
むしろやり方がわからないのに、そんな発想が出たのが凄いわ。
出来ない人は、そもそも計算式で空白を詰められるなんて考えもしないと思うんだが。
0897889
垢版 |
2019/07/22(月) 23:01:02.39
皆様ありがとうございます。

indexとsmallとrowの3つを使えば、上に詰めて参照できる事が分かりました。

それを889で示した数式を入れ込めば出来そうです。
0899名無しさん@そうだ選挙にいこう
垢版 |
2019/07/23(火) 00:46:21.26
>>889
持ってる本にそういうの載っていたが会社に置きっぱなしだわ
なので自力で

B列を作業列として
B1に =IF(COUNTIF($A$1:A1,A1)=1,ROW())
C1に =IFERROR(INDEX(A:A,SMALL(B:B,ROW())),"")

もうちょっとシンプルになりそうな気もするが眠くて思いつかんわ
0902名無しさん@そうだ選挙にいこう
垢版 |
2019/07/23(火) 06:35:59.37
動的な対応が必要なくて結果が欲しいだけなら「重複の削除」ってコマンドがExcelのメニューの中にある
順番もちゃんと保持される
0903889
垢版 |
2019/07/23(火) 07:37:42.11
>>898
はい、会社ナンバーとかはふってないです。会社名がどんどん増えていき、さらに重複もA列に出てくる感じです。

>>899さんのやり方がいいのかなと思いました。
0904名無しさん@そうだ選挙にいこう
垢版 |
2019/07/23(火) 13:11:26.31
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 まあまあ
【4 VBAでの回答の可否】 可

ある列に、ひらがな、カタカナ、半角カタカナ のいずれかの文字列が
入っています。
これを全部半角カタカナに統一したいです。
  あいう→アイウ
  アイウ→アイウ
  アイウ→アイウ
こんな感じです。
VBAで命令することにはどうすればいいでしょうか?
0906名無しさん@そうだ選挙にいこう
垢版 |
2019/07/23(火) 17:15:13.37
計算式の=の後に@を入れた記憶がないのに、入っています。
同じファイルを別のPCで開くと入っていません。何か設定を変えてしまったのでしょうか?
0908名無しさん@そうだ選挙にいこう
垢版 |
2019/07/23(火) 19:05:05.04
【1 OSの種類         .】Windows10
【2 Excelのバージョン   】Excel2016
【3 VBAが使えるか    .】いいえ
【4 VBAでの回答の可否】否

B2:B101の範囲にデータの入力規則(リスト)を設定したいです。
既存は空で、例えばB2に山田、B3に佐藤と入れたら
山田と佐藤がプルダウンのリストに表示されるようにしたいのですが
どうすればよいでしょうか?
誤入力防止のためのプルダウンではなく入力補助としてのプルダウンを作るのが目的です。
0909908
垢版 |
2019/07/23(火) 19:07:32.58
すみません。追記です。
同じ名前がでてきた場合はリストに重複して出ないようにお願いします。
0910名無しさん@そうだ選挙にいこう
垢版 |
2019/07/23(火) 19:14:06.12
>>906
違ってたらスマン
多分ロータス123かなんかだったはず
・「ツール」 → 「オプション」 → 「移行」タブを開く
・「□計算方式を変更する」にチェックする。
この辺と主う

>>907
全然違う
もう少し考えて回答してあげて

>>908
データ データの入力規則
リスト
範囲
=$B$2:$B$100
0912名無しさん@そうだ選挙にいこう
垢版 |
2019/07/23(火) 23:48:50.54
>>911
テキトーに言って当たればラッキーぐらいでいいだろって事を正直に言ってるだけだよ
今更ロータスの事なんて誰得
それすらわからない無能はもう少し勉強しよう
あと>>907はありえないと断定して良い
0913名無しさん@そうだ選挙にいこう
垢版 |
2019/07/24(水) 04:36:50.15
試したが環境では
「計算方式を変更する」では再現も治りもしない
なおO365版での設定位置は
ファイル→オプション→詳細説明→Lotusとの互換性設定の下
0915名無しさん@そうだ選挙にいこう
垢版 |
2019/07/24(水) 09:43:21.97
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 コピペだけできます

シート集計表のC列の2行目以降が「集計」で無い行は、行ごと削除したいので
下のコードを使っているのですが、3000行位までは実行されるのですが
10万行以上の件数があると「型が違います」というメッセージがでて、処理が実行できません。
件数が多い場合のコードを教えてください。


Sheets("集計表").Select
For r = Cells(Rows.Count, "C").End(xlUp).Row To 2 Step -1
If Cells(r, "C") <> "集計" Then Rows(r & ":" & r).Delete
Next
0917915
垢版 |
2019/07/24(水) 11:55:36.46
>>916

Dim r As Long
For r = Cells(Rows.Count, "C").End(xlUp).Row To 2 Step -1
If Cells(r, "C") <> "集計" Then Rows(r & ":" & r).Delete
Next

でも同じく「型が一致しません」になります。
0918名無しさん@そうだ選挙にいこう
垢版 |
2019/07/24(水) 12:41:42.45
エクセルを手軽に本とかで学びたいと考えてますが、オススメのノートパソコンってありますか??

予算は10万前後で出来るだけ軽いものがいいです。
0923915
垢版 |
2019/07/24(水) 20:17:10.37
>>919
ありがとうございます。できましたm(__)m
0925名無しさん@そうだ選挙にいこう
垢版 |
2019/07/25(木) 00:19:06.38
例えばセルA1に1:00:00と入力したらセルB1に1時間5秒後の時間が表示されるにはどのような式を書けばいいでしょうか?
0926925
垢版 |
2019/07/25(木) 02:10:42.16
やりたいことがちょっと複雑なのでvbaスレで聞いてみます
質問取り下げます
0929929
垢版 |
2019/07/27(土) 00:20:05.66
excel表↓
__|______A_______|___B____|___C____|___D____|___E____|___F____|___G____|___H____
1| | | | | | | |
2| | |夏季限定スイーツ売上一覧表| | |
3| | | | | | | |
4|品名 |単価 |6月 |7月 |8月 |売上金額 |売上比率 |備考
5|とろとろプリン | 300 | 120 | 155 | 140 | 124,500 | 18.4 |
6|抹茶あんみつ | 450 | 233 | 107 | 111 | 202,950 | 29.9 |○
7|メロンシュー | 320 | 94 | 88 | 90 | 87,040 | 12.8 |
8|フルーツアイス | 250 | 124 | 156 | 224 | 126,000 | 18.6 |
9|はちみつ金時 | 380 | 130 | 122 | 109 | 137,180 | 20.2 |○
10| |合計 | 701 | 628 | 674 | 677,670 | |
11| |平均 | 140 | 126 | 135 | 135,534 | |
12| | | | | | | |
13|最大個数 | 233 | | | | | |
0930929
垢版 |
2019/07/27(土) 00:25:12.40
セル番地(F10)について、次の問1から問3を解答しなさい。
問1 セル番地(F10)を複合参照で列を固定した答えを記入しなさい。
問2 セル番地(F10)を複合参照で行を固定した答えを記入しなさい。
問3 セル番地(F10)を絶対参照で列と行を固定した答えを記入しなさい。
という問題があったのですが

1,SUM($F5:$F9) 2,SUM(F$5:F$9) 3,SUM($F$5:$F$9)
と解答したら全て間違えてました; 全く答えが分からないので教えて下さい。

表ズレてますが左からA~Hです。
0932名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 00:49:00.35
>>931
教えてもらったのですが間違えた答えでしたので…(^^;
F10には売上金額677,670とあります。セル番地を絶対参照で固定して計算する際に合計の値がずれないようにします
と書いてあります
0935名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 08:32:39.27
>>933
バツとだけ書かれて返却されてたので分からないです…。
他の問題は全て正解でした。
完了期限はまだ先みたいなので大丈夫みたいです。
0937929
垢版 |
2019/07/27(土) 08:39:15.77
929の表がズレてたので・・・画像にしてあげますexcelの表はこちらで↓
https://gyazo.com/6bbc43b5a4346db69404d52e985b0244
処理条件は↓
https://gyazo.com/faf8012dcb22cdd442c687663f1e7524
問題は↓
セル番地(F10)について、次の問1から問3を解答しなさい。
問1 セル番地(F10)を複合参照で列を固定した答えを記入しなさい。
問2 セル番地(F10)を複合参照で行を固定した答えを記入しなさい。
問3 セル番地(F10)を絶対参照で列と行を固定した答えを記入しなさい。

なのですけど>>930に書いた解答は全て間違えてました・・・。
今度ははっきり見えるように画像を撮ってきたので何卒解答お願いいたしますm(_ _)m
0941名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 13:28:43.03
死ぬほど役に経つけどそもそも使えない会社やシステムが整っている大企業だと出番が無いこともあるからその辺りは気をつけないと行けない
0945名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 15:19:47.44
VBAでの質問です。よろしくお願いいたします。

あるシートに、cmdPrint1からcmdPrint50という名前のコマンドボタンが50個あります。
これをクリックしたときの動作はすべて同じプロシージャで、引数が違うだけなんです。

Private Sub myPrint( no as integer)
’略
end sub

各コマンドボタンは
Private Sub cmdPrint1_Click()
call myPrint(1)
End Sub

という感じなんですが、こういう場合、50個のコマンドボタンすべてについて、クリックイベントを
書かないとだめなんでしょうか?
何か、まとめて書いちゃう方法ってあるのでしょうか?
0946名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 15:20:26.28
>>943
日々、「自分の仕事をいかに減らせるか?」を考え続け、勉強を続けるが重要
そして、ダメと分かったら作りなおす度胸が必要
極めれば多少営業が無茶言ってきても対抗できるし、
毎日超暇になる

>>944
お前みたいな無能が何のために生まれてくるのか良く分からんが、
日本っていい国だな
0947名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 15:23:01.91
>>945
確か一ヶ月ぐらい前にvbaスレで似たような事をやってたな
・activeXボタンならボタンのcaptionを取れるから、それで分岐できる。ただしactiveXは時代錯誤な上に使えないPCもある
・フォームのボタンはcaptionを取れないから無理。this.captionが出来ない
0949名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 15:51:22.65
>>948
自分1人が頑張ることには限度がある
自分の能力が極まった上で、他者を育てる事で始めて有能となる
その効率は極まったお前の数倍となる

相手の素性も知らずに叩き潰す事しか考えないお前は間違いなく無能だ、断言する

一応フォローすると、お前自信が頑張ってる、能力がある事は伝わる
もう少しいたわりを持ち、他者を成長させる礎となれ
それは大変苦しみを伴う作業だが、歩んだ道は間違い無かったと、俺はそう思ったよ
0952名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 16:19:00.66
>>949
すごいね、たったこれだけのことで
相手の素性が分かっちゃうモノホンのエスパーさんだったとは…

俺も少しばかりそのエスパーの心得ってのがあったから
>>943をゴミカスクズ糞汚物扱いしてやったんだけど
これってお前が言ってることと何か違うの?


もしかしてとは思うけど…その…アナタ…


.....、......オクス..リ.、、、


........ とか..キメ.......たり....してませんよね?;


なんかね、少し...ちょっと.....思っただけ...なんですけど…^^;;;;;;



>>950
そうだったんですね
ま誰にも間違いはありますから
次スレ建ててから死んでくださいね
0953名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 16:26:23.67
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 コピペだけ
【4 VBAでの回答の可否】  可


https://dotup.org/uploda/dotup.org1906896.jpg.html

↑のような表があって、G列に担当者名が入っているのですが


https://dotup.org/uploda/dotup.org1906899.jpg.html

↑のように担当者名だけ各表のA列の先頭にコピペするコードを教えてください。
0954名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 16:32:35.66
>952
>相手の素性が分かっちゃうモノホンのエスパーさんだったとは…
>俺も少しばかりそのエスパーの心得ってのがあったから
ってかこのスレなら数文字で伝わるでしょ

>>943をゴミカスクズ糞汚物扱いしてやったんだけど
それに意味がない

>その・・ | .....オクス..リ.、、
三点リーダと半角読点、句読点、他諸々統一しないとダメ
自分に自信がなさすぎる。そんな事では
「あれ、この人こそ統一性のない人なのかな?」と思われるだけ
殺したいときはもっと殺意をもって発言、過ちが気になるだけなら端的にレス
0956名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 16:36:50.74
>>952
どうしても教えて欲しい事がある
>>943をゴミカスクズ糞汚物扱いしてやった
これはどういう感情なの?
俺も恐らく発達障害だから、君の気持ちが良くわからないんだ

「ゴミカスクズ糞汚物扱いしてやった」
ことで君は自分の承認欲求が満たされたり、
人間のランク的な物が上がったりするの?

まぁ別に答えなくてもいいよ、これはただの俺の知識の一つになるだけだ
0957名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 16:36:54.46
>>953
こういう質問は答えにくい。
やりたいことの一例が上がっているだけなので。

その3つの表だけでいいのか、沢山ある表を処理したいのか。同じ表の担当者は必ず同一なのか、そうでない場合があるのか。

VBA使わずに、A2に=G4 と入力して、それをA10と、A14にペーストすれば良いのでは?
0958名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 17:05:05.08
>>957

すみません説明不足でした

・画像では3例の表ですが、実際は300件以上あります。

・各表は必ず同一の担当者です。

・表と表の間の行数は一定ではありません

・毎日件数が多くなるためVBAで処理したいです
0959名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 17:28:45.39
>>953
>>958

Sub foo()
最終行 = Cells(Rows.Count(), 7).End(xlUp).Row
For i = 1 To 最終行
If Cells(i, 1).Value = "納品日" Then
Cells(i - 1, 1).Value = Cells(i + 1, 7).Value
End If
Next
End Sub

飲みながらだとこういう単純なのが意外とキツイなw
>>952君は回答ないけど、無理なのかな?
0961名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 17:33:39.09
>>959
こんな一瞬でできるようなのがキツいとか
こんなハゲとはいっしょに飲みに行きたくないな
0964名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 17:42:03.27
いつもならvbaのコード最適化しろやっていうとこだけどお前より俺の能力の方が高いからどうでもいいわ
マジであごひげなくならねぇ
乳毛も脇毛もなくなったけど肝心のあごひげなくならないんだよどうすりゃいんだよ
0965950
垢版 |
2019/07/27(土) 17:43:16.99
スレの立て方が分かりません。…

もっと有益な会話をしたいです!VBA初心者の方いませんか?
0968名無しさん@そうだ選挙にいこう
垢版 |
2019/07/27(土) 17:51:39.13
>>965
いねーよ、ここは達人の集まりだ

vbaってのは要するにExcel作業の自動化

Excelで手作業を繰り返している会社なら英雄になる
「a1とb1をc1に自動的に出すだけ。それが100シート」

ただし、多大な損失が生じる可能性がある
「言い忘れたけど合計が偶数になると別ブックに転記する必要があるんだよね〜」

逆に、そもそもExcelを使わない大企業では意味がない
0970965
垢版 |
2019/07/27(土) 20:12:37.14
雑談スレいくわ。すまんかったね。

ありがとうございます!
0971名無しさん@そうだ選挙にいこう
垢版 |
2019/07/28(日) 16:17:31.33
あと30レス雑談してから消えろよw
0973965
垢版 |
2019/07/28(日) 17:35:47.51
>>971
消えないよ!
0974名無しさん@そうだ選挙にいこう
垢版 |
2019/07/28(日) 18:21:15.26
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2013
【3 VBAが使えるか    .】 中級
【4 VBAでの回答の可否】 可

あるシートを新規別ブックにコピーしてそれにファイル名をつけて保存する、ということを
やりたくて試行錯誤しています。
一応、コピーして保存はできたのですが、元シート上にあるコマンドボタンまでコピーされて
しまいます。
コマンドボタンをコピーさせない方法ってないでしょうか?

今は
mySt.Copy
ActiveWorkbook.SaveAs ****
という単純なコードです。これを書き換えて、コマンドボタン以外だけをコピーとしたいです。

よろしくお願いいたします。
0975名無しさん@そうだ選挙にいこう
垢版 |
2019/07/28(日) 18:29:17.22
>>974
mySt.Copyの次の行にボタン削除を入れる
シートコピーと言うのはシート自体をコピーするんだからそこにあるものは当然全てコピーされる
0976名無しさん@そうだ選挙にいこう
垢版 |
2019/07/28(日) 19:49:22.01
>>975
具体的には
activesheet.Shapes.range("Button 1").delete


For Each eShape In ActiveSheet.Shapes
eShape.Delete
Next

を入れとく
0978名無しさん@そうだ選挙にいこう
垢版 |
2019/07/28(日) 20:08:29.47
そうだね
ボタン名がはっきりわかってピンポイントで消したいなら上で
なんでもいいからデータだけ残したいの!という場合は下
0980名無しさん@そうだ選挙にいこう
垢版 |
2019/07/28(日) 20:33:42.05
Forで回してShapeがボタンかの判定を入れたらもっといいね
初心者だとしたらコピー後のボタン名をちゃんと調べられるかなと思って下のも用意した
あれ?!俺はどうやって調べたんだっけ もう忘れたw
0984名無しさん@そうだ選挙にいこう
垢版 |
2019/07/30(火) 20:42:34.50
【1 OSの種類         .】 Windows10
【2 Excelのバージョン   】 Excel2010
【3 VBAが使えるか    .】 入門中
【4 VBAでの回答の可否】 不可

教えてください。

B列に日付、C列からH列まで、品目ごとの買物金額が入力されている100行くらいの表があるとします。

A1に日付を入力すると、A2に、その日の買物の合計金額が出るようにしたいです。
=SUMIF(B1:B100,A1,C1:H100)

これではダメみたいなんです。どうすればいいでしょうか?
0985名無しさん@そうだ選挙にいこう
垢版 |
2019/07/30(火) 21:03:06.77
>>984
マイクロソフトのサイトのSUMIF関数の解説のページ
https://support.office.com/ja-jp/article/sumif-%E9%96%A2%E6%95%B0-169b8c99-c05c-4483-a712-1697a653039b
を見てもらうとわかります。条件となるセル範囲がB1:B100、つまり1列×100行を指定した場合は、
合計範囲をC1:H100(つまり6列×100行)と設定しても、実際に合計の対象となるのは1列×100行となる
C1:C100だけになるはず。
よって、=SUMIF(B1:B100,A1,C1:C100)+SUMIF(B1:B100,A1,B1:B100)+ と、SUMIF関数を6個連ねるのが正解。
0986985
垢版 |
2019/07/30(火) 21:06:33.45
>>985の続き
もし、B列に日付の重複がないことが確実であるならば、日付の一致する行のC列〜H列の合計を
出すとして、SUMIF関数を使わず、SUM関数、OFFSET関数、RESIZE関数を組み合わせて
できそうだけど、ただいま試行錯誤中。
0988名無しさん@そうだ選挙にいこう
垢版 |
2019/07/30(火) 22:16:36.90
カンマがいらないと思うんだがバージョンが違ったらそれでも動くんか

しかしsumproductを使ったらsumifもcountifも無駄な知識だなと思ったが
この二つはワイルドカードが使えるというアドバンテージがあるんだな
0993985
垢版 |
2019/07/31(水) 07:24:09.53
SUMPRODUCTでこんなこともできるのね。
”正解”などと書いた自分が恥ずかしい orz
0995名無しさん@そうだ選挙にいこう
垢版 |
2019/07/31(水) 12:43:07.38
よろしくお願いします。

あるブックの2つのシートに、1つずつ表があります。

どちらの表にも同じ「会員番号」という列があるのですが、
これをもとに、
・AシートとBシートの両方に入っている人
・Aシートにしか入っていない人
を一目でわかるようにしたいです。
なにかいい方法はないでしょうか?
0997名無しさん@そうだ選挙にいこう
垢版 |
2019/07/31(水) 15:36:20.30
>>995
作業列を使うか、「会員番号」の列に対する条件付き書式でいけると思う。
どちらのシートも 会員番号の列はB列 と仮定して、

作業列を使う方法→Aシートの作業列をC列と仮定→AシートのC2セルに計算式
=COUNTIF(SheetB!$B:$B,B2)
と入力して、下方向に必要なセル範囲までドラッグコピーする。
シートBにも存在する会員番号があれば、その個数がC列に表示される。なければ0が表示される。

条件付き書式を使う方法(条件は上に同じ)シートBにも同じ会員番号があるとき、当該セルを黄色塗りつぶす場合
B2〜B列の最下行までのセル範囲を選択する→条件付き書式→新しいルール→数式を使用して〜
→数式の欄に =COUNTIF(SheetB!$B:$B,B2)>0 と入力→[書式]ボタンをクリック→
塗りつぶしのタブをクリック→黄色を選択→[OK]をクリック→[OK]をクリック→[適用]をクリック→[OK]をクリック
黄色になってないセルの会員番号はシートBには存在しないということを示します。

こんなのでいかが?ただし、この設定だけでは「Bシートにしか入ってない人」はわかりません。
0998名無しさん@そうだ選挙にいこう
垢版 |
2019/07/31(水) 15:55:51.14
うめ
0999名無しさん@そうだ選挙にいこう
垢版 |
2019/07/31(水) 15:55:56.51
うめ
1000名無しさん@そうだ選挙にいこう
垢版 |
2019/07/31(水) 15:56:04.80
うめ
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 90日 7時間 10分 2秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況