- 締切済み
別ファイルの値を参照かつその参照先ファイル名の変更をシート内の操作で実現する方法
お世話になります。 エクセルで下記のことが出来るか質問です。どなたか御教授下さい。 サーバー内に参照先としたい同フォームの2ファイル、 \\saver1\files\file_a \\saver1\files\file_b があるとします。 ローカルのエクセルファイル、self_file.xls の中のA1には"file_a"の 文字、A2には参照先のfile_a内のB2の値を参照して表示されているとします。 やりたいのは、ローカルファイル内のA1の記述をfile_bにした時に、 自動(または手動リンク更新かなにか)でA2のセルの内容がfile_bの B2の値に変わるようにしたいのです。 実際には多数のファイルがサーバー内の同フォルダにあり、 A1のファイル名を変更すればそれぞれの値へ変えられるようにしたいのです。 エクセルファイルのみの構成で実現可能でしょうか。 できればマクロを使わずに実施したいと考えております。 実はサーバーファイルの参照すらまともに出来ていない状況です。 値を変えるとすぐに参照できなくなり、参照先ファイルのアドレス のみが表示されてしまいます。(関数が必要なのでしょうか) どなたか経験豊富な方、助けてください。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- takana_
- ベストアンサー率44% (21/47)
#2です サンプルはこんな感じです。 パス ファイル名 シート名 セル 値 ハイパーリンク c:\ A.xls Sheet1 A1 A1の中身 c:\A.xls#A1
- takana_
- ベストアンサー率44% (21/47)
INDIRECT関数が使えそうですが、対象のブックを開かないと参照してくれないようなので A列,B列,C列,D列,E列,F列をそれぞれ パス,ファイル名,シート名,セル,値 とします E1に =INDIRECT(CONCATENATE("[",B1,"]",C1,"!",D1)) と入力 F1に =HYPERLINK(CONCATENATE(A1,B1,"#",D1)) と入力 それで、F1セルのハイパーリンクをクリックして、参照先のファイルを開くと E1セルに対象の値が設定されるようになると思います。 上記で示した方法は応用出来ないでしょうか?
- rukuku
- ベストアンサー率42% (401/933)
はじめまして INDIRECT(参照文字列, 参照形式) を使えば可能かもしれません。 ただ、質問を読んでいますと、エクセルファイルの組み合わせの設計にムリがあると思います。 おそらく、ファイル数が少ないうちはうまくいっていたけれど、ファイル数が増えてきて、手に負えなくなってしまっているのだと思います。 まずは、一つのファイルにまとめてみてはいかがでしょうか? もし、それでは大きくなりすぎるのなら、データベース(アクセスなど)を利用した方がいいと思います。