
在 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
如果 in 的值大於 1,則SUMIF
僅計算列中的值:C
B
=SUMIF(B$1:B9, ">1", C$1:C9)
這是我的問題:我在 row 插入一行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)
我通常一次一行更新此工作表,因此我需要花費大量時間來調整公式中的範圍。
SUMIF
Excel不像 那樣自動更新 中的範圍,有沒有原因SUM
?是否可以這樣做,或者是否有解決方法?
答案1
您在案例中觀察到的SUM
是 Excel 的自動公式擴展實際應用 – 當您新增行或列時,Excel 會執行一些神奇的操作來調整公式參考。 AsSUM
和SUMIF
非常相似(例如,它們都有能力將自己限制在充滿數據的範圍的一部分 - 請參閱這篇 MSDN 文章),人們會正確地期望兩者都成為公式擴展的目標。事實SUMIF
並非如此,或至少在 Office 2007 和 Office:mac 2011 上不是,我將其稱為錯誤行為(從技術上講,它可能不是錯誤)。恐怕你無法改變這一點。
答案2
您必須將數據製成表格。
ExcelIsFun 有一個關於它的視頻youtube。