Excel 不会自动更新 SUMIF 表达式中的范围——为什么?

Excel 不会自动更新 SUMIF 表达式中的范围——为什么?

在 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计算该列中的值的函数:CB

=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)

我通常一次更新此工作表的一行,因此我浪费了大量的时间来调整公式中的范围。

SUMIFExcel 不会像对 那样自动更新 中的范围,这有什么原因吗SUM? 可以这样做吗,或者有解决此行为的解决方法吗?

答案1

你所观察到的SUM是 Excel 的自动公式扩展实际操作 – Excel 在添加行或列时执行的调整公式引用的神奇操作。 AsSUMSUMIF非常相似(它们都能够将自己限制在填充了数据的区域的一部分,例如 – 请参阅这篇 MSDN 文章),人们理所当然地认为两者都是公式扩展的目标。但事实SUMIF并非如此,或者至少在 Office 2007 和 Office:mac 2011 上并非如此,我称之为错误行为(从技术上讲,它可能不是一个错误)。恐怕你无法改变这一点。

答案2

您必须将数据制成表格。

ExcelIsFun 上有一段关于此的视频YouTube

相关内容