• ベストアンサー

違うブックを参照して、数値を表示するには?

質問失礼します。 エクセルで保存した違うブックにあるデータから、複数条件で一致するものを検索し、表示することは可能でしょうか? 例えばブック1のG2に、ブック2のE1を表示させたいのですが、 条件が、ブック1のG2がある行の「B2とC2とD2とE2」の数値や文字列、空白などが、一致する行を,ブック2から検索し、その行にある、E1を、ブック1のG2に表示させたいです。 ブック1とブック2の一致させたい範囲 ブック1のB列、C列、D列、E列の行単位のセルと並び方=ブック2のA列、B列、C列、D列の行単位のセルと並び方 求めたい物 ブック2の条件にあったE列のセルをG列に表示したいです。 可能でしょうか? ブック1   A  B  C  D  E  F  G 1    8  a1 50  1 2    8  a1 50       30 3    8  a1 60       20 4    8  a1 70 20 5    3  b5 60 20     3 ブック2   A  B  C  D  E  F 1 8  a1 50    30  2 8  a1 50  1 3         4 8  a1 60    20 5 8  a1 70 20   6 7 3  b5 60 20  3

質問者が選んだベストアンサー

  • ベストアンサー
noname#262398
noname#262398
回答No.2

ブック2のE列が数値データで、なおかつゼロのデータが無いなら、 長いけど G1=IF(SUMPRODUCT(([ブック2.xls]シート名!A$1:A$7=B1)*([ブック2.xls]シート名!B$1:B$7=C1)*([ブック2.xls]シート名!C$1:C$7=D1)*([ブック2.xls]シート名!D$1:D$7=E1)*([ブック2.xls]シート名!E$1:E$7)),SUMPRODUCT(([ブック2.xls]シート名!A$1:A$7=B1)*([ブック2.xls]シート名!B$1:B$7=C1)*([ブック2.xls]シート名!C$1:C$7=D1)*([ブック2.xls]シート名!D$1:D$7=E1)*([ブック2.xls]シート名!E$1:E$7)),"") 分かりやすく書くと、 =IF(SUMPRODUCT(・・・),SUMPRODUCT(・・・),"") ブック2E列の空白セルがゼロと表示されないように、IFを使ってます。 ゼロで構わなければ =SUMPRODUCT(・・・) だけで済みますが。 ブック2のE列が文字データも含まれるなら、これも長いけど =IF(INDEX([ブック2.xls]シート名!E$1:E$7,MATCH(1,INDEX(([ブック2.xls]シート名!A$1:A$7=B1)*([ブック2.xls]シート名!B$1:B$7=C1)*([ブック2.xls]シート名!C$1:C$7=D1)*([ブック2.xls]シート名!D$1:D$7=E1),),))="","",INDEX([ブック2.xls]シート名!E$1:E$7,MATCH(1,INDEX(([ブック2.xls]シート名!A$1:A$7=B1)*([ブック2.xls]シート名!B$1:B$7=C1)*([ブック2.xls]シート名!C$1:C$7=D1)*([ブック2.xls]シート名!D$1:D$7=E1),),)))

modesut
質問者

お礼

本当にありがとうございました。目の前の霧がいっきに晴れたような気分になりました。あらためてご回答いただき感謝です。

その他の回答 (1)

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.1

G1=IF(B1='[ブック2.xls]Sheet1'!A1,IF(C1='[ブック2.xls]Sheet1'!B1,IF(D3='[ブック2.xls]Sheet1'!C1,IF(E3='[ブック2.xls]Sheet1'!D1,'[ブック2.xls]Sheet1'!E1,""),""),""),"") 4つのセルの値が一致と言うことですので IF を4つネストすれば出来ます(IF のネストは、最大8つまで)

modesut
質問者

補足

早速のご回答大変ありがとうございます。 お答えの数式を参考にさせてもらいましたが、なかなかうまくいきません。こちらの力不足で申し訳ありません。 ブック1のG列に数式をいれ、結果を自動表示させたいのですが、 ブック1のG1の場合なら、8  a1 50  1 の並びと一致する行を、ブック2の列A~列Dまでで検索し、一致するブック2のE2空白が選択されます。 ブック1のG2の場合なら、8  a1 50 空白 と一致する行、ブック2のE1の30が選択されるようにしたいです。 ブック1   A  B  C  D  E  F  G 1    8  a1 50  1     ? 2    8  a1 50        ? 3    8  a1 60        ? 4    8  a1 70 20     ? 5    3  b5 60 20     ? ?=数式 ブック2   A  B  C  D  E  F 1 8  a1 50    30  2 8  a1 50  1 3         4 8  a1 60    20 5 8  a1 70 20   6 7 3  b5 60 20  3 G列に数式導入後のブック1はこうなります。   A  B  C  D  E  F  G 1    8  a1 50  1 2    8  a1 50       30 3    8  a1 60       20 4    8  a1 70 20 5    3  b5 60 20     3 ・ ・ ・                      

関連するQ&A