Excelでブックを開きセル内を編集する。すると、ワークシート上に変更が加えられたため、このブックを閉じようとすると「変更を保存しますか?」というメッセージが表示される。ところが、ブックを開きはしたが何も編集をしていないのに、閉じようとすると「変更を保存しますか?」と聞かれることがある。いったい誰が何を編集したというのだろう。別に実害はないが、気にはなる。

図1 何もしていないのに…

 Excelの関数の中には、ブックを開くと同時に自分自身を再計算するものがある。NOW関数がよい例だ。NOW関数は常に現在の日付と時刻を返す関数。ワークシート上にNOW関数を記述しておくと、そのブックを開くと同時に関数の結果が更新される。関数を入力したセルの内容が変化するのだから、これはワークシートを編集したのと同じ結果になる。そこで、ブックを閉じるときに「変更を保存しますか?」と念押しされることになるのだ。

 ブックを開くと同時に再計算が行われる関数は、NOW関数のほかにINDEX関数、AREAS関数、CELL関数、COLUMNS関数、INDIRECT関数、OFFSET関数、ROWS関数、RAND関数、TODAY関数などがある。ブックの中でこられらの関数を使っていると、自動的に再計算が行われ、「変更を保存しますか」と聞いてくることになる。

 また、関数だけでなく、ワークシート上リンクされた画像が含まれていると、やはり自動的に再計算がされることもある。この場合も同様に、開いただけで「保存しますか?」と聞いてくる。