エクセルの文字

他のブックが閉じたままでも他のブックの値を参照する方法

リンクさせたい2つのエクセルシートを開いて、リンク元ファイル(テスト1という名前)のシートのセル上で「=」(半角)を押します。

エクセル図

リンク先ファイル(テスト2という名前)エクセルシートの適当なセルをクリックします。

リンク元ファイルに、リンク先ファイルのデータが表示されます。

この状態でテスト1ファイルを保存すると、次回にテスト1ファイルを開いたときに、以下のような表示になります。
「あれ?これちゃんとテスト2ブックを参照できているの?」と不安になりますが、大丈夫。参照できています。

参照先のブックが閉じていると使えない関数

ちなみに、関数を使った場合でも他ブックは参照できますが、以下の関数を使った場合、他ブックが閉じていると参照できません

SUMIF
COUNTIF
DSUM
DCOUNTA
INDIRECT

上記の関数を使用して他ブックを参照している場合、2つのブックを同時に開いたときに初めて、データが参照出来ている状態になります。

エクセルブックの外部参照には問題がある

使用している関数にさえ注意すれば、参照したいブックが閉じたままでも参照可能。
しかし、エクセルブック同士の外部データ参照はリンク切れ(参照できないということ)が起こりやすいです。

例えば、フォルダの移動・名前変更をするとリンク切れを起こします。
また、参照元ブックと参照先ブックが同じフォルダにある場合で、[Ver.1]フォルダーをコピーして[Ver.2]フォルダーを作成するとします。この中のファイル同士で絶対パスの参照が使われていると、[Ver.2]内のファイルから[Ver.1]内のファイルを参照し続けてしまいます。リンク切れエラーにはならないので、誤りに気付きにくいです。

よって、エクセルブックで外部参照を使う場合は、基本的にVBAを使った方が無難という結論になります。

※ファイルの場所のことをパスといいますが、パスについては以下を参照してください。

エクセル パス(ファイルの場所)の書き方

以下はブックの場所を表していますが、この形を絶対パスといいます。

以下もブックの場所を表していますが、この形を相対パスといいます。

絶対パスと相対パスの違いは、パソコンの中でのブックの場所を記載しているかどうかです。

絶対パスで参照しているものを絶対参照、相対パスで参照しているものを相対参照といいます。

管理人画像

エクセルブック同士の外部参照の場合、使用する数式が多すぎると読み込むまで時間がかかったり、待つだけ待っても最終的に参照できなかったり、というような事態も経験があります。(1シート3000セルのシートが30枚以上など)
VBAマクロを使って参照した方が、処理速度から見てもスマートだと思います。