Davidは、数式に影響を与える列を挿入したときに、数式が自動的に更新されないようにする方法があるかどうか疑問に思います。

たとえば、数式= SUM(B:B)があり、列Bの左側に列を挿入すると、Excelによって数式が自動的に= SUM(C:C)に更新されます。彼は数式が更新されることを望んでいません。彼は、新しい列を挿入した後でも、列Bを参照することを望んでいます。

必要な結果を得る1つの方法は、OFFSET関数を使用して列Bを参照することです。たとえば、次の式について考えてみます。

=SUM(OFFSET(A:A,0,1))

この数式がセル内にあり、列Bの前に列を挿入した場合、数式は更新されません。それでも列Bを参照しています。なぜですか?

数式は列Aを参照しており、列Aを移動するために何もしなかったためです。列Aの前に列を挿入した場合、数式は参照列Bに更新されます。

つまり、数式を処理する最良の方法は、次のようにINDIRECT関数を使用することです。

=SUM(INDIRECT("B:B"))

INDIRECT関数は、パラメーターにテキストを使用します。これはテキストであるため、Excelによって更新される参照とは見なされません。列の挿入または削除に関係なく、数式は常に列Bを参照します。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(10786)は、Microsoft Excel 2007、2010、および2013に適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。