dポイントプレゼントキャンペーン実施中!

EXCEL2007を使用しています。

添付画像のように、例えば、B2のセルには
=IFERROR(VLOOKUP(A2,INDIRECT($B$1&"!a:b"),2,FALSE),0)
という関数があり、VLOOKUPとINDIRECTを使って同じEXCEL内の
別のシートを参照するようにしてあります。

※シートをそれぞれ 0910,0911,0912という名前にして各年月毎に
商品コードと数量を入れてあります。
この商品コードと数量が入ったシートを数量.xlsxという別のEXCELファイルにして
このMAINのEXCELシートにデータを持ってきたいのです。
何か方法はありますでしょうか?よろしくお願いします。

「VLOOKUPとINDIRECTで別のE」の質問画像

A 回答 (2件)

別のファイルにしてということでしたら次のような式に変更してはいかがでしょう。


=IF(OR($A2="",B$1=""),"",IFERROR(VLOOKUP($A2,INDIRECT("["&B$1&".xlsx]Sheet1!A:B"),2,FALSE),0))
    • good
    • 0
この回答へのお礼

KURUMITO様、本当に速くご回答頂きましてありがとうございます。
早速試してみます! 
=IF(OR($A2="",B$1=""),"",IFERROR(VLOOKUP($A2,INDIRECT("["&B$1&".xlsx]Sheet1!A:B"),2,FALSE),0))
では、別のEXCELファイル名を 0910 とか 0911 にして、その
中のシートを参照するようですが、応用すれば使えそうです。
ありがとうございました!!

お礼日時:2010/03/06 11:25

B2セルへの入力の式を次のようにして右横方向にドラッグしたのちに下方向にもドラッグしてはいかがでしょう。



=IF(OR($A2="",B$1=""),"",IFERROR(VLOOKUP($A2,INDIRECT(B$1&"!A:B"),2,FALSE),0))
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございます。
質問の仕方が悪く、上手くお伝えできてないようで申し訳ありません。

MAIN以外の0910,0911,0912のシートをこのEXCELブック
(例えばMAIN.xlsxとします)ではなくて、別のEXCELファイル
(例えば数量.xlsx)の0910,0911,0912というシートにある数量を
参照したいということなのです。
※数量.xlsxというファイル名は固定で構いません。
MAIN.xlsxのB1からD1の値を変えることで、数量.xlsxのその
名前のシートの商品名に対応した数量をMAIN.xlsxに表示させたいと
思っています。

どうぞよろしくお願いします。

お礼日時:2010/03/04 17:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています