2010-04-24[n年前へ]
■続 エクセルにおける循環参照時の計算順序
「エクセルにおける循環参照時の計算順序」で書いたような反復計算がおこなわれるのは、あくまで「循環参照」がされているセルに対してである。この「循環参照がされているセルに対して」ということは、えてして忘れてしまいやすい。つまり、シートの一部に「循環参照」がされているセルがあれば、シート全体が反復再計算されるのだ、という勘違いをしてしまいやすいように思う。
反復計算がされるのは、あくまで「循環参照」がされているセルだけ、である。「循環参照」がされているセル群だけが反復計算の対象になり、それらのセル群の(前回計算結果との)変化量が所定値以下になるまで、それらのセル群に対して再計算を(前回記事のような順番で)行うことになる。
シート上で「循環参照がされていないセル」に関しては、再計算されることはなく、初回の計算時の値がそのまま使われる。だから、たとえば、どこかのセルに乱数値を返すようなものが含まれていたとしても、つまり、計算ごとに明らかに変化するようなセルが含まれていたとしても、(循環参照がされていない限りは)そのセルの値は初回の計算で決まり、変化することはない。考えてみれば、当たり前の話だが、油断するとその当たり前を忘れてしまう。
えてして、反復計算が行われる時には、シート全体が再計算されるという勘違いが頭の中に忍び込むことがある。そして、その間違った先入観のもとに、エクセルでプロトタイピングをしたりすると、思ったような計算がされず、ラピッド・プロトタイピング、すなわち、素早くたたき台を作とうと思ったはずなのに、多量の時間を費やす羽目になってしまったりする。
エクセルの基本的な機能だけを、しかし、その基本的な機能を深く解説した本を読んでみたい。