7

これはかなり複雑ですが、できるだけわかりやすく説明するように最善を尽くします。意味がない場合はお知らせください。

入力と出力の 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

したがって、上記は完全にうまく機能します。私のため。ただし、別のユーザーのマシンでは機能しません。私は掘り下げようとし、次のことを解決しました:

  1. ファイル間の接続はシステムにも存在します。[データ] > [リンクの編集] を調べると、私と同じように機能している接続があることがわかります。
  2. 生成されるファイル パスは同じです。ユーザーに表示するマクロを作成しましたが、3 台のマシンで毎回同じ結果が得られました。
  3. 最も重要なことに (そして紛らわしいことに)、ネストされていないINDIRECT数式機能します。私のコンピューターでのみ機能するのは、ネストされた数式のみです。他のすべてのユーザーのコンピューターでは、#REFエラーが返されます。

なぜこれが当てはまるのか、誰にも分かりますか?私は途方に暮れています。

そのスピルを読んでくれてありがとう。

4

2 に答える 2

2

あなたは、最初の間接式 + 連結が次のような値を返すと言いました:

\\My Documents\Subfolder\[input_sheet.xlsx]Wk 25 2012'!$B$11

シート名の両側に一重引用符があり、次のような値を返すべきではありません:

\\My Documents\Subfolder\[input_sheet.xlsx]'Wk 25 2012'!$B$11

2 番目の数式には、ファイル パスの前にシート名の一重引用符があることに気付きました。

代わりに、次の 2 つの式を試してください。

=INDIRECT("input_sheet_location")&"'Wk 25 2012'!$B$11"

および/または

=INDIRECT(INDIRECT("input_sheet_location")&"'Wk 25 2012'!$B$12")

彼らがあなたのために働いているかどうか教えてください.

于 2012-07-10T20:42:46.040 に答える