セルに入力した文字列(例:○○商店)を使って、その文字列と同じファイル名を付けた別のEXCELファイル(○○商店.xls)上のセルを参照するには、どのような関数を使ってどのように記述したらよいでしょうか。
※単純な別ファイルを参照する方法ではなく、文字列を使う方法を知りたいのでご教示願います。
ADRESS関数とINDIRECT関数を使います。
A1に入力されたファイル名で指定されたエクセルファイルのA2セルの内容を参照するには
=INDIRECT(ADDRESS(2,1,,,A1))
のような式を書きます。
http://www.hatena.ne.jp/1113983596
人力検索はてな - エクセルのA1セルに”C”、A2セルに”3”と入力されている時にA3セルにC3セルの内容を参照する方法がありましたら教えて下さい。 (エクセルマクロによるマクロ作成は除く)..
上記と同じく、indirect関数でできます。
ファイル名のセル:A1
シート名のセル :A2
行列のセル :A3
とすると、
=indirect(”[”&A1&”.xls]”&A2&”!”&A3)
と記述します。
シンプルでよくわかりました。ありがとうございました。この応用でこのようなことは可能でしょうか。
参照先のシートに表(商品名と価格)があり、□□商品を検索して該当商品の価格を引張ってくることは可能でしょうか。
※□□商品の名前は元のシートのひとつのセルに入力してあります。
Yahoo! JAPAN
URLはダミーです。
文字列を使う方法ではないので、ポイントは不要です。
質問、コメントを拝見する限りでは、外部参照を設定するブックに、参照したいブックのリンクデータ(数式や、データ>外部データの取込み、ピボットテーブル等使用)を別シートに設定し、その値に対し、(V/H)LOOKUPや、MATCHで該当商品の価格を表示したほうがいいように思えます。
INDIRECT、ADDRESS 関数の組み合わせの場合は、参照先のブックを開いていないとエラーになってしまうため、参照元を開くときは参照先のブックも開くか、シートの再計算を行わないようにする必要がでてきてしまいます。
ありがとうございます。昨日半日悩んでいたので木を見て森を見ていなかったような気がしてきました。もう一度整理してみます。
超メジャーな関数以外はほとんど知らないので参考になりました。これを応用してもう少し複雑なことをやりたいので、その糸口になりそうです。ありがとうございました。