![Excel は SUMIF 式の範囲を自動的に更新しません。なぜでしょうか?](https://rvso.com/image/1288689/Excel%20%E3%81%AF%20SUMIF%20%E5%BC%8F%E3%81%AE%E7%AF%84%E5%9B%B2%E3%82%92%E8%87%AA%E5%8B%95%E7%9A%84%E3%81%AB%E6%9B%B4%E6%96%B0%E3%81%97%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%3F.png)
Excel 2007 では、次のように配置されたワークシートがあります。
A B C
1 x 2 15
2 x 3 45
3 x 4 46
4 x 1 7
5 x 2 85
6 x 1 14
7 x 1 9
8 x 3 36
9 x 1 5
10
11 C Total: 262
12 C Total where B > 1: 227
C11
は正規ですSUM
:
=SUM(C$1:C9)
C12
列の値が1 より大きい場合にSUMIF
のみ列の値をカウントするです。C
B
=SUMIF(B$1:B9, ">1", C$1:C9)
問題は次のとおりです: 行 に行を挿入し10
、追加データを追加します:
9 x 1 5
10 y 1 17
11
12 C Total: 265
13 C Total where B > 1: 227
にデータを入力するとC10
、Excelは数式の範囲を自動的に更新しますSUM
が、ないのSUMIF
:
=SUM(C$1:C10)
=SUMIF(B$1:B9, ">1", C$1:C9)
通常、このワークシートは 1 行ずつ更新されるため、数式の範囲を調整する必要があり、かなりの時間がかかります。
SUMIF
Excelが の場合のようにの範囲を自動的に更新しないのはなぜでしょうかSUM
? 自動的に更新するようにすることはできますか、またはこの動作を回避する方法はありますか?
答え1
SUM
Excelの場合、あなたが観察したのは自動数式展開実際のところ、Excel は行や列を追加する際に数式参照を調整するためにちょっとした魔法をかけています。 と はSUM
非常SUMIF
によく似ています (たとえば、データで埋められた範囲の一部に制限する機能を共有しています。このMSDNの記事) の場合、数式展開によって両方がターゲットになることが当然予想されます。実際SUMIF
にはそうではありません (少なくとも Office 2007 と Office:mac 2011 ではそうではありません)。これはバグのある動作と言えます (技術的にはバグではない可能性があります)。残念ながら、これを変更する方法はありません。
答え2
データをテーブルにする必要があります。
ExcelIsFunにはそれに関するビデオがありますユーチューブ。