これはかなり複雑ですが、できるだけわかりやすく説明するように最善を尽くします。意味がない場合はお知らせください。
入力と出力の 2 つのワークブックがあります。これらはシステムの仕組み上、分離する必要があります。つまり、「指名者」が単純な入力ワークブックへのすべての入力を行い、出力ワークブックはそれをすぐに使用できるようにフォーマットします。これが機能するためには、出力ワークブックが入力ワークブックを参照して値を取得する必要があります。
両方のワークブックを開いた状態でこれをテストしています。
これを実現するために、ネストされたINDIRECT
関数を利用します。1 つ目は名前付き範囲を呼び出してファイル パスを作成し、2 つ目はそのファイル パスを解釈して値を取得するように Excel に指示します。
INDIRECT
ファイルパスを作成するために使用することから始めます。
=INDIRECT("input_sheet_location")&"Wk 25 2012'!$B$11"
これは次のようなものを返します。
\\My Documents\Subfolder\[input_sheet.xlsx]Wk 25 2012'!$B$11
そして、それを別のパスにネストして、Excel にそのパスを読み取らせます。
=INDIRECT("'"&INDIRECT("input_sheet_location")&"Wk 25 2012'!$B$12")
これにより、ファイル ディレクトリである名前付き範囲である input_sheet_location からセル B12 の値が正常に返されます。議論のために、次のように返すことができます。
Captain America's underpants
したがって、上記は完全にうまく機能します。私のため。ただし、別のユーザーのマシンでは機能しません。私は掘り下げようとし、次のことを解決しました:
- ファイル間の接続はシステムにも存在します。[データ] > [リンクの編集] を調べると、私と同じように機能している接続があることがわかります。
- 生成されるファイル パスは同じです。ユーザーに表示するマクロを作成しましたが、3 台のマシンで毎回同じ結果が得られました。
- 最も重要なことに (そして紛らわしいことに)、ネストされていない
INDIRECT
数式が機能します。私のコンピューターでのみ機能するのは、ネストされた数式のみです。他のすべてのユーザーのコンピューターでは、#REF
エラーが返されます。
なぜこれが当てはまるのか、誰にも分かりますか?私は途方に暮れています。
そのスピルを読んでくれてありがとう。