Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Excel 2016)
Excelのプルダウンで他のシートを参照させる方法
投稿日時: 22/01/14 15:28:51
投稿者: EXIT

いつもお世話になっています。
Excelの参照について教えて下さい。詳細は以下の通りです。
 
2つのブックに分かれたデータがあります。
Aのブックの【センターコード】の列にCA12345のようにコード番号が入っています。
Bのブックには【コード番号】という形でこの番号が入っており、他の項目も記載された表になっています。
 
Bのブックで特定のコード番号をピックアップしたい場合、プルダウンで一つ、あるいは複数の番号を表示させていました。
今回やりたいのは、Aのブックの【センターコード】を参照して、センターコードにあるコード番号の行を表示させる方法です。
 
今までは両方のブックを見合わせながら、番号をチェックし該当するコード番号のデータを表示させていました。
しかしながら【センターコード】の数が増えて非常に手間がかかってしまいます。
 
方法がありましたら、ご教示ください。
よろしくお願いします。

回答
投稿日時: 22/01/14 15:45:09
投稿者: taitani

A の Book が DB、B の Book で参照するのであれば、Power Query を利用して、可変データ参照が良いと思います。
https://tsukaeru-excel.com/parameters
 
上記を参考にしてみてください。
 

回答
投稿日時: 22/01/14 16:33:31
投稿者: んなっと

質問するときは、以下のような具体例と欲しい結果を必ず書いてください。
 
●A.xlsxのSheet1
 
     A   B   C
1 センターコード 項目1 項目2
2  CA12345   あ   P
3  CA12346   い   Q
4  CA12347   う   R
5  CA12348   え   S
6  CA12349   お   T
 
●B.xlsx
     ↓データの入力規則でドロップダウンリストから選んでいる
      A   B   C
1 コード番号 項目1 項目2
2  CA12346▼   い   Q
          ↑   ↑自動的に表示されるようにしたい
B2
=VLOOKUP($A2,[A.xlsx]Sheet1!$A:$K,COLUMN(B2),FALSE)

投稿日時: 22/01/14 16:51:44
投稿者: EXIT

taitaniさん、回答ありがとうございます。
Power Queryを使ったことはないのですが、リンク先を読んで今後活用していきたいと思います。
 
 
んなっとさん、回答ありがとうございます。
具体例を表記せず、お手間をかけてすみませんでした。
 
A.xlsxのSheet1にあるのはセンターコードのみです。
 
●A.xlsxのSheet1
  
     A
1 センターコード
2  CA12345
3  CA12346
4  CA12347
5  CA12348
6  CA12349
 
 
 
●B.xlsxのSheet1
  
     A   B   C
1 コード番号 項目1 項目2
2  CA12345   あ   P
3  CA12346   い   Q
4  CA12347   う   R
5  CA12348   え   S
6  BA12349   お   T
7  BA12345   か   U
8  BA12346   き   V
9  AA12347   く   W
10  AA12348   け   X
11  AA12349   こ   Y
 
この二つのファイルを見比べてA.xlsxに記載されているセンターコードのデータのみを表示させたいのです。
今まではA.xlsxのセンターコードを目視して、B.xlsxのコード番号をプルダウンで表示させていました。

回答
投稿日時: 22/01/14 17:16:53
投稿者: んなっと

関数だとこんな感じ。
  
●B.xlsx
  
       A   B   C D E F G      H   I   J
 1 コード番号 項目1 項目2       コード番号 項目1 項目2
 2   CA12345   あ   P         CA12345   あ   P
 3   CA12346   い   Q         CA12346   い   Q
 4   CA12347   う   R         CA12347   う   R
 5   CA12348   え   S         CA12348   え   S
 6   BA12349   お   T                   
 7   BA12345   か   U                   
 8   BA12346   き   V                   
 9   AA12347   く   W                   
10   AA12348   け   X                   
11   AA12349   こ   Y                   
  
H2
=IFERROR(INDEX(A:A,AGGREGATE(15,6,ROW($2:$900)/ISNUMBER(MATCH($A$2:$A$900,[A.xlsx]Sheet1!$A:$A,0)),ROW(H1))),"")
下方向・↓

投稿日時: 22/01/17 08:45:43
投稿者: EXIT

んなっとさん、回答ありがとうございます。
 
あれから急な仕事が入ってしまい、お礼が遅れて申し訳ありませんでした。
教えて頂いた関数をベースにして、いろいろなことが出来そうです。
ありがとうございました。