アプリ版:「スタンプのみでお礼する」機能のリリースについて

Excelにて、Book1ファイルにOffset関数を使って別のファイルBook2から値を参照しています。
このBook2が開いている時は問題なく参照できますが、Book2が閉じていると「#VALUE!」エラーになります。

Offsetは、リンク先のファイルが開いている状態でないと使えないのでしょうか?使えないとすれば、何か他の関数で代替できないでしょうか?
因みにINDIRECT関数でも試してみましたがやっぱりリンク先が閉じた状態だとエラーになりました。
(ただのリンクだったり、ROUND関数のようなものだと、リンク先ファイルが開いてなくても使えるのですが...)

ご教授よろしくお願いします。

A 回答 (2件)

例えば、エクスプローラーの操作でBook2.xlsのファイルを全く別のBook2.xlsで置き換えるような場合、Excelはそんな所まで検知できません。


仮にやろうとすると、Windowsの上で起こるファイルの書き換えを片っ端から監視する必要が出るかも知れません。

--
> リンク先が閉じた状態だとエラーになりました。

こちらの解消方法としては、
[ツール]-[オプション]
「オプション」ダイアログ
「計算方法」タブ
ブックオプションの、「外部リンクの値を保持する」をチェックします。

こうする事で、Book1の外部リンクを含む計算式上に最後に計算された値が保持されます。

ただし、あくまでも「最後に計算された値」なので、Book2を更新した場合には再計算を行わなければ値の反映が行われませんし、再計算を行う際にBook2を開いていなければエラーが発生します。
外部とのリンクを直接持つシート、そのシートを参照して実際の処理を行うシートなどに分ける必要が出るかも知れません。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
これはExcelの仕様なのでしょうね。
(リンク先が閉じていても使える関数もありますが、使えない関数もある。)
マクロを使うなどの方法を考えます。

お礼日時:2003/11/14 11:42

当たり前のような気がしますが、かく言う小生が浅はかなのでしょうか。

自信はありませんが。
(1)単純なファイルデータ(通常ディスクにあるでしょう)などは(WEB上のLinkされたファイルなどをふくめて)開いてないなら開いてディスクを読み、メモリにいれて、そこのそのメモリの値を見れば良い。
(2)しかしデータ構造の複雑なエクセルなどになると、
エクセルで開いて、メモリに展開してから、値を取らないとダメでしょう。関数式などが入っていて、他の場所のデータで計算した結果にそのセルの値が決まることも多いでしょうから。
(3)開いてないブックの値を参照された時は、自動的に
そのブックを開いて読むような仕組みにすれば良いのでしょう(将来のVERSIONではそうなるかも知れない。)が、それをエクセルはやってないと言うことでしょう。ユーザーが開きなさいと言うことでしょう。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
これはExcelの仕様なのでしょうね。
(リンク先が閉じていても使える関数もありますが、使えない関数もある。)
マクロを使うなどの方法を考えます。

お礼日時:2003/11/14 11:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています