• 締切済み

別ファイルの値を参照かつその参照先ファイル名の変更をシート内の操作で実現する方法

お世話になります。 エクセルで下記のことが出来るか質問です。どなたか御教授下さい。 サーバー内に参照先としたい同フォームの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のファイル名を変更すればそれぞれの値へ変えられるようにしたいのです。 エクセルファイルのみの構成で実現可能でしょうか。 できればマクロを使わずに実施したいと考えております。 実はサーバーファイルの参照すらまともに出来ていない状況です。 値を変えるとすぐに参照できなくなり、参照先ファイルのアドレス のみが表示されてしまいます。(関数が必要なのでしょうか) どなたか経験豊富な方、助けてください。

みんなの回答

  • takana_
  • ベストアンサー率44% (21/47)
回答No.3

#2です サンプルはこんな感じです。 パス    ファイル名   シート名    セル    値     ハイパーリンク c:\     A.xls       Sheet1      A1   A1の中身 c:\A.xls#A1

  • takana_
  • ベストアンサー率44% (21/47)
回答No.2

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)
回答No.1

はじめまして INDIRECT(参照文字列, 参照形式) を使えば可能かもしれません。 ただ、質問を読んでいますと、エクセルファイルの組み合わせの設計にムリがあると思います。 おそらく、ファイル数が少ないうちはうまくいっていたけれど、ファイル数が増えてきて、手に負えなくなってしまっているのだと思います。 まずは、一つのファイルにまとめてみてはいかがでしょうか? もし、それでは大きくなりすぎるのなら、データベース(アクセスなど)を利用した方がいいと思います。

関連するQ&A

  • 別ファイルを参照しながらシート名を動的に

    Excelにて、VLOOKUP関数を使用し別ファイルを参照してます。 (こちらをAファイルとします) 別ファイル(こちらをBファイルとします)にはいくつかシートがあり、Aファイルに入力された値によって、Bファイルを参照するシートを変更したいのですが、うまくいきません。 AファイルはC:\workに BファイルはC:\work\workにそれぞれ配置してあります。 AファイルのセルA1には任意の値を入力可能で、その値によって参照するBファイルのシートを変更できます。 VLOOKUP(B1,INDIRECT("'C:\work\work\[Bファイル.xls]"&A1&"シート'!$A$1:$B$100") Aファイルに上記のような関数を書いても、#REFと表示されてしまいます。 どこがおかしいのでしょうか? #AファイルとBファイルを同時に開いている状態だとうまく表示されました。

  • 参照先をセルに入力して、他のブックのセルを参照する方法

    Excelで、他のブックのセルを参照したいです。 たとえば、あるExcel(test.xls)上から、別のフォルダにある複数のブック C:\AAA.xls D:\BBB.xls の値を参照する場合ですが(AAA.xlsとBBB.xlsは、値の内容は違うが、同じシート名の同じセルに値が入っている)、 test.xlsのSheet1のA1に「C:\」、A2に「AAA.xls」を入力すると、test.xlsのSheet2にはAAA.xlsの値を表示し、 test.xlsのSheet1のA1に「D:\」、A2に「BBB.xls」を入力すると、test.xlsのSheet2にはBBB.xlsの値を表示するような方法です。 参照先が固定であれば、='C:\[AAA.xls]Sheet名'!D5・・・のような指定ができるのですが、参照するファイル名とパス名が都度変わるので、入力したセルの値で参照先を変えたいのです。 ちなみに、INDIRECTを使うやり方も考えましたが、参照先のブックを開いていないと値が表示されないようなので、却下されました。 (参照先のブックは開かなくても値を参照させたいです) どなたかご存知の方がいらっしゃったら、教えてください。 よろしくお願いします。

  • エクセルで別ファイルの値を参照

    いまBOOK1.xlsがBOOK2.xlsの値を参照しています BOOK1.xlsのどこかのセルにBOOK3と入れるとBOOK3.xlsの値を参照するようにできますか? BOOK2とBOOK3はシートなどは値が違うだけで全く同じ構成です エクセルバージョンは2003です よろしくお願いします

  • ハイパーリンク先のエクセルファイルのセル参照の方法

    サーバ上にあるエクセルファイルのあるワークシート上の特定のセルの値を参照して表示する方法を教えてください。 例えば http://www.hoge.co.jp/excell/test.xls ファイル上の”元データ”という名前のワークシート上のH列38行セルの値を参照して表示いとき =hyperlink("[http://www.hoge.co.jp/excell/test.xls]元データ!H38") かなとも思ったのですが、うまくいきません。 どうしたらよいでしょうか。

  • Excelで他Excelファイルのセルの値をVBAで参照したい時

    こんにちは。 Excelで他Excelファイルにあるセルの値をVBAで参照したい時って、 場所をどう指定したらいいのでしょうか。 やろうとしている事ですが、 c:\1.xlsに記述するVBAで c:\2.xlsのsheet1のA1の値を参照して、 それとc1.xlsのsheet1のA1の値が一致した時に、 c:\2.xlsのsheet1のB1の値を、 C:\1.xlsのsheet1のB1に書き出そうとしています。 派遣就業先でAccessで作ればいいものを なぜか社員の方たちでExcelで作ってしまったため、 そのメンテに四苦八苦しています。(笑) ご存知の方ぜひ教えてください。 よろしくお願いします!

  • Excelのファイルをまたいだシート参照について

    Excelのファイルをまたいだシート参照について AというファイルのシートaがbのA1を参照しているとき、Bというファイル(同じシートbを作成済) に貼り付けると、aの参照はAのファイルの別シートから参照(=[A.xls]b!A1)をするようになって しまうのですが、これをBのシート(同じ名前,b!A1)のなかで参照をするようにコピーする方法を教えてください。

  • 別のエクセルファイルのデータを参照して表示する方法

    別のエクセルファイルのデータを参照して表示する方法を教えてください。 A.xlsに B.xlsの中の給与一覧の合計セルの部分のみを表示したいのですが。

  • 参照先セルに値が入っていない時に、「0」や「1900/01/00」などが入らないようにしたいのですが

    Excelでの質問です。 参照先のセルに何も値(空白セル?)が入っていない時に 「0」などが表示されてしまうのを参照先と同じように、何も表示されていない状態に したいのですが、どのようにすればよろしいでしょうか。 例えば、A1に「=B1」と入力してある場合、A1に「0」と表示されます。 B1には何も入力していない状態であります。 A1をB1と同じように何も表示されていないように「0」とかを出ないように したいのです。 何かいい方法がありましたら、教えてください。 よろしくお願いします。

  • エクセルのマクロで、別ファイルの数値を参照する方法

    現在aaa.xlsというファイルを開いていて、 そのセルA1には20070621という数値が入っています。 別にbbb_20070621.xlsというファイルがあって、 そのファイルのsheet1内の、B1の値を参照したいと思います。 bbb_20070621.xlsのようなファイルが無数にあるので、 ファイルを開かなければいけないINDIRECT関数は使いたくありません。 =INDIRECT("[bbb_"&A1&".xls]Sheet1!B1") ファイルを開かず参照できるように、 できればマクロ(VBA)で組みたいと思っています。 RangeやCellでいろいろ試してみたのですが、 どうもうまくいかず、 分厚いマニュアルにも書いてありませんでした。。 初歩的な質問ですいませんが、 どなたかよろしくお願いします。

  • エクセルの関数で、セルに書いたファイル名を参照

    エクセルの関数で、セルに書いたファイル名を参照する方法が知りたいです。 エクセル関数初心者レベルです。 別のファイル(開いた状態)に欲しいデータがあって、そのデータをexcel関数(できればOFFSET関数等)を使って他のファイルで参照します。 その際、その関数に記載されるファイル名を別のセルに記入して、それを参照させるようにしたいのですが、どうすればよいのでしょう。 たとえば、afile.xlsというファイルのbsheetというシートのA1セルに欲しいデータ(数字または文字)があるとします。 afile.xlsを開いた状態で、別のファイル(new.xlsとします)のセルに、"="で参照させると =[afile.xls]bsheet!$A$1 という関数が入り、データも表示されています。 ここで、たとえばnew.xls上の B2セルに " afile.xls " とベタ打ちして、 上掲の=[afile.xls]bsheet!$A$1の [afile.xls] のところをB2セルを参照させるようにしたいです。単純にB2と打ち変えてみたりもしたのですが、うまくいかないようで。 どなたか教えて頂けるとたすかります。よろしくお願いいたします。

専門家に質問してみよう