【エクセル】 関数を使って他のエクセルの値を読み込みたい
エクセルで外部ファイルの値を読み込みたいのですが、その際に読み込み先(シート)を関数を使って切り替えたいので、アドバイスをいただけないでしょうか。
検索で調べてみたらVBAを使う回答が多いのですが、VBAを使える人が周りにいない(私もそうです)ので、後々のメンテナンスを考えると関数を使って切り替えたいのです。
【環境】
WINDOWS XP エクセル2000
C:\AAA (CドライブにAAAというフォルダ)
フォルダAAAには、BBBとCCCというエクセルファイルがあります
CCCには、シート名1、2、3という3つのシートがあります。
【目標】
ファイルBBBのセルの値を操作すれば、読み込み先が変更されてBBBで表示される値が切り替わる。
【だめだった例】
BBBのセルA1にシート名を入れます。「1~3の数値」
同じくセルB1にパスを表示させます「="'C:\AAA\[CCC.xls]1"&A1&"'"」 ・・・後ろのA1が変化することで読み込み先が変わるはず。
同じくセルC1にCCCから読み込んだ値を表示させます。
「=INDIRECT($B$1&"!"&ADDRESS(ROW(F7),COLUMN(F7)))」
・・・B1で表示された読み込み先のセルF7の値を表示するはず。
結果は「#REF!」になります。
CCCを同時に起動させると上手く読み込むので、リンクの問題なのでしょうか?
なお関数を使わないでパスを記述したセルでは、CCCを起動させなくても上手く読み込んでくれます。
よろしくお願いします。
お礼
回答ありがとうございます。