Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


8928 / 13644 ツリー ←次へ | 前へ→

【30277】選択すると自動に入力される関数 らいく 05/10/24(月) 13:00 質問[未読]
【30281】Re:選択すると自動に入力される関数 Jaka 05/10/24(月) 14:03 回答[未読]
【30287】Re:選択すると自動に入力される関数 らいく 05/10/24(月) 14:42 質問[未読]
【30288】Re:選択すると自動に入力される関数 Jaka 05/10/24(月) 15:15 回答[未読]
【30289】Re:選択すると自動に入力される関数 Jaka 05/10/24(月) 15:26 回答[未読]
【30291】Re:選択すると自動に入力される関数 らいく 05/10/24(月) 16:32 お礼[未読]

【30277】選択すると自動に入力される関数
質問  らいく  - 05/10/24(月) 13:00 -

引用なし
パスワード
   行き詰ってしまいました。
どなたかご教授していただきたく。

sheet1は入力用のシート
sheet2にマスタデータ(列単位で4種類)

sheet1のデータAの入力時はsheet2のA1〜A21までを参照して
リストから選択。(ここまでは完成済み)

未完成部分
sheet1のデータB、C、DはSheet1のAデータをリスト選択した時点で
Sheet2のB1〜B21、C1〜C21、D1〜D21の値を自動で
Sheet1に代入したい。


sheet1のAをA15をリストから選択
→sheet1のBにはsheet2のB15
→sheet1のCにはsheet2のC15
→sheet1のDにはsheet2のD15
を自動的に入力する。

sheet2のB1〜D21に、どの様な関数を入れてよいか
分かりません。
そなたかご教授願います。

【30281】Re:選択すると自動に入力される関数
回答  Jaka  - 05/10/24(月) 14:03 -

引用なし
パスワード
   まんま書けばいいんじゃないですか?
=IF($A$1="???",Sheet2!B15,"") とか...。

リストで選ばれた値をMATCHで調べ直して、OFFSETでづらすとか、INDIRECTで参照するとか。
データやリスト内容、レイアウトがどうなっているのか解らないで、こんな程度しか...。

【30287】Re:選択すると自動に入力される関数
質問  らいく  - 05/10/24(月) 14:42 -

引用なし
パスワード
   下記の一文が間違ってました。
(誤)sheet2のB1〜D21に、どの様な関数を入れてよいか分かりません。
(正)sheet1の入力欄に、どの様な関数を入れてよいか分かりません。

レイアウト及びデータは下記の通りです。

sheet1の入力欄
部署名  部署コード
センタ名    センタコード

sheet2のマスタ
部署名    部署コード    センタ名    センタコード
第11    CA11    第1設    50555
第12    CA13    第1設    50555
第13    CA41    第1設    50555
第14    CA42    第1設    50555
第21    CA31    第2設    50554
第22    CA32    第2設    50554
第23    CA33    第2設    50554
第24    CA43    第2設    50554
第25    CA44    第2設    50554
次11    CC21    次1設    50537
次12    CC22    次1設    50537
次13    CC23    次1設    50537
次21    CC24    次2設    50568
次22    CC25    次2設    50568
次O1    CA21    次OS    50538
次O2    CA22    次OS    50538
次O3    CA23    次OS    50538
次S1    CC11    次S設    50558
次S2    CC12    次S設    50558
次S3    CC13    次S設    50558
次S4    CA25    次S設    50558

部署名の入力はsheet1の部署名からリストで選択し、
sheet1の部署コード、センタ名、センタコードは、sheet2の同じ行にある
c、d、eを返したいのです。

すみません。わかりづらくて。
MATCH、OFFSET、INDIRECTは初めてみる関数なので調べてみます。

【30288】Re:選択すると自動に入力される関数
回答  Jaka  - 05/10/24(月) 15:15 -

引用なし
パスワード
   ▼らいく さん:
>部署名の入力はsheet1の部署名からリストで選択し、
これは出来ているんですか?

>sheet1の部署コード、センタ名、センタコードは、sheet2の同じ行にある
>c、d、eを返したいのです。
上が出来ていれば、VLOOKUPで済みそうですが...。

【30289】Re:選択すると自動に入力される関数
回答  Jaka  - 05/10/24(月) 15:26 -

引用なし
パスワード
   A1入力規則
=INDIRECT("Sheet2!A2:A" & counta(indirect("Sheet2!A:A")))

B1
=VLOOKUP(A1,Sheet2!A1:D21,2,0)

A2
=VLOOKUP(A1,Sheet2!A1:D21,3,0)

B2
=VLOOKUP(A1,Sheet2!A1:D21,4,0)

【30291】Re:選択すると自動に入力される関数
お礼  らいく  - 05/10/24(月) 16:32 -

引用なし
パスワード
   Jaka さんへ
ありがとうございました。無事に出来ました。
VLOOKUPというヒントで作成してみました。
一応、どの様な形で出来たかを記載しておきます。

>>部署名の入力はsheet1の部署名からリストで選択し、
>これは出来ているんですか?
出来ています。
具体的にはsheet2のA1〜A21を選択した状態で名前ボックスを部署名にして
sheet1の部署名欄(F17)の選択リストの範囲を名前ボックスの部署名を設定。

>>sheet1の部署コード、センタ名、センタコードは、sheet2の同じ行にある
>>c、d、eを返したいのです。
>上が出来ていれば、VLOOKUPで済みそうですが...。

F17の部分はsheet1の部署名が設定されているセルです。

sheet1の部署コードの関数
VLOOKUP(F17,sheet2!A:B,2,FALSE)
sheet1のセンタ名の関数
VLOOKUP(F17,sheet2!A:C,3,FALSE)
sheet1のセンタコードの関数
VLOOKUP(F17,sheet2!A:D,4,FALSE)

jakeさんから回答を見る前に悩みながら作っていて、何とか完成したのですが、
私が作った式とsheet2の範囲指定の部分とFALSEの部分が違っていました。
私が作った方だと何か不具合など発生する可能性はありますでしょうか?

8928 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free