Excelでは、入力フィールドを「シート」と呼び、単独もしくは複数のシートの集まりを「ブック」と呼んでいる。Excelを起動してブックを開く、もしくはエクスプローラーからExcelのアイコンをクリックすると、ブックが開かれる。
シートとブックの使い分けだが、『ひとつの資料やデータ、作業やシミュレーションはブック内で完結する』が原則である。
Excelでは、同一ブック内にあるほかのシートや、ほかのブック内にあるシートのセルを参照することができる。具体的には、数式を入力する際に、同一、ほかのブックを問わず参照先のシートの任意のセルをクリックすることで、そのセルを参照するよう数式が書ける。
前述の原則にしたがうと、同一ブック内のほかのシート参照はOKだが、ほかのブック内にあるシート参照はNGだ。その理由は以下のとおりである。
- 参照先のブックが削除やファイル名の変更などでなくなってしまう
- 参照先のブックの保存先を移動すると、エラーになってしまう
- 参照先のブック内容を変更すると、その内容が意図せず反映される可能性がある
- ブックを開くと警告メッセージが表示され、参照先情報の確認や修正を要求される
上記のような懸念があるため、個人でブックを使う場合ならまだしも、複数のメンバーでブックを共有する場合には、だれがどのタイミングで参照先のデータを更新する可能性も否定できないため、ミスを誘発する危険性が非常に高いといわざるを得ない。
しかし、ほかのブックにあるデータを使って作業をした方が効率的なケースは多い。というよりその方がほとんどである。
そんな場合には、ほかのブック内のシートにある必要なデータを同じブック内のシート(同一・他どちらでもOK)にコピーする。
コピーの際は、「形式を選択して貼り付け」-「値」が原則だ。「すべて」を貼り付けてしまうと、数式ごと貼り付いてしまうので、数式が自動的に元のブックを参照する形式に変換されてしまうのである。
値で同一ブック内に貼り付けたデータを参照している限り、その参照元シートは削除しない限りなくならないし、知らず知らずのうちに書き換えてしまうリスクもミニマムになる。
Excelでのデータ参照は、同一ブック内完結。ブック間の参照はしない。鉄則なので身に付けておきたい。