[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『関数の短縮』(す〜)
お世話になります。 複数の関数を&で繋げています。 これって短縮して設定することは出来るのでしょうか? 教えてください。 シート数は実際は全部で10以上あります。
A列に「JA11」と入力したら「JA11第1営業」シート内を、 「JA12」と入力したら「JA12第2営業」シート内を、 「JA21」と入力したら「JA21販売部」シート内を、 VLOOKUPでデータ抽出する。
=IF(A3="JA11",VLOOKUP(C3,JA11第1営業!$M$3:$R$600,2,FALSE),"")&IF(A3="JA12",VLOOKUP(C3,JA12第2営業!$M$3:$R$600,2,FALSE),"")&IF(A3="JA21",VLOOKUP(C3,JA21販売部!$M$3:$R$600,2,FALSE),"")
< 使用 Excel:Excel2010、使用 OS:Windows10 >
検索範囲が全シート同一なら、INDIRECT関数で処理できます。
どこかに対照表を作り、その文字列を利用する。 D3セル =IF(A3="","",VLOOKUP(C3,INDIRECT(A3&VLOOKUP(A3,$F$1:$G$4,2,FALSE)&"!$M$3:$R$600"),2,FALSE)&"")
行 __A__ _B_ ___C___ _____D_____ _E_ __F__ ____G____ 1 JA11 第1営業 2 JA12 第2営業 3 JA21 検索値 販売部当り JA13 第3営業 4 JA21 販売部
(半平太) 2018/05/16(水) 08:12
>A列に「JA11」と入力したら
ちょっと確認ですけど、これは手入力?
入力規則のリストから選択するのではダメなんですかね? リストは「JA11」とかではなく「JA11第1営業」のようなシート名と同じものにして。
そうすると ↓ な感じでできますね。
=IFERROR(VLOOKUP(C3,INDIRECT(A3&"!M3:R600"),2,FALSE),"") ~~~~~~~ この式を下へコピーするにしても、 波線部は文字列なので 「M$3:$R$600」のように絶対参照にする必要はありませんし、 N列の値を返すだけなら「M3:N600」でいいのでは? ~~~~ それと、VLOOKUPが返す値は数値? それとも文字列?
以上です (笑) 2018/05/16(水) 10:26
お二人のご提案を参考に・・・
A列に「J11」や「J12」の記号を入れるとB列に営業所名を自動表示させることにしました。 で・・・以下のような関数を設定し、無事解決しました♪
D3=IF(A3="","",VLOOKUP(C3,INDIRECT(A3&B3&"!$M$3:$R$600"),2,FALSE)&"")
ちなみに、VLOOKUPが返す値は数値や文字列がランダムです。 また、E3には「&"!$M$3:$R$600"),3」とF3には「&"!$M$3:$R$600"),4」が入る予定です。
おかげさまでスッキリ解決しました。ありがとうございます! (す〜) 2018/05/17(木) 22:48
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.