Mae向きなブログ

Mae向きな日記のブログ版。ようやくこちらに移行してきました。

Excelで相対パスを使いたい

以前から疑問に思っていたのですが,Excelのファイル間でセルのデータを参照したいとき,絶対パスExcelのファイルを指定しているようですが,これを相対パスで参照することはできないものでしょうか?

  • 「C:\Excel_test」フォルダを作りました。
  • その中で,parent.xlsのA1セルに,"参照元のデータです"を入力。
  • 同じフォルダ内のsibling.xlsのA1セルにリンク貼り付けをすると,
='C:\Excel_test\[parent.xls]Sheet1'!$A$1

となります。

  • 「C:\Excel_test\child_dir」フォルダを作りました。
  • このフォルダ内のchild.xlsのA1セルにリンク貼り付けをすると,上記と同様
='C:\Excel_test\[parent.xls]Sheet1'!$A$1

となります。
ここで,「Excel_data」フォルダの名前が「Excel_data_changed」になった場合,sibling.xlsでは,以下のように絶対パスが自動で変更されますが,

='C:\Excel_test_changed\[parent.xls]Sheet1'!$A$1

child.xlsファイルからは,parent.xlsのA1セルを参照できなくなってしまいます。
そこで,

  • sibling.xlsでは,
='[parent.xls]Sheet1'!$A$1

で参照したいし,

  • child.xlsでは,
='..\[parent.xls]Sheet1'!$A$1

で参照したいのですが…。このような場合,皆さんはどのようにされているのでしょうか?