sum 函式應該是大多數人的 Excel 啟蒙函式,別看它很簡單,但也有些情況下,一不注意就踩坑,比如今天的案例。
案例:
下圖是個簡單的資料表,“總計”行用的是最基礎的 sum 公式。
需求:
當我們在“總計”上方新增月份時,需要總計結果自動加入新增行的數值,怎麼實現?
解決方法:
1. 就目前的表格,我們試一下增加新行後,總計結果到底會不會變?
2. 從上述實驗結果來看,sum 函式對“訂單數”實現了自動新增新增行的智慧統計,但是對“獎金”卻不奏效,為什麼?
這是因為“獎金”單元格本身也是公式,sum 函式遇到公式就不那麼智慧了。
3. 正確答案其實很簡單,將“訂單數”的總計改為以下公式,向右拖動公式複製到 C 列即可:
=SUM(B2:INDEX(B:B,ROW-1))
公式釋義:
同樣是 sum 公式,我們只是將原先的第二個引數 B4 替換成了 INDEX(B:B,ROW-1)
INDEX 函式表示返回區域中的第幾行:INDEX(array,row_num)
index 使用方法可參見 Excel 如何多條件查詢?即同時查詢行、列並返回值?
ROW-1:當前的行數-1,即求和項的上一行
因此 INDEX(B:B,ROW-1) 的含義就是:始終取 B 列求和項的上一行,從而實現本例需求
以下是演示效果:
sum 函式應該是大多數人的 Excel 啟蒙函式,別看它很簡單,但也有些情況下,一不注意就踩坑,比如今天的案例。
案例:
下圖是個簡單的資料表,“總計”行用的是最基礎的 sum 公式。
需求:
當我們在“總計”上方新增月份時,需要總計結果自動加入新增行的數值,怎麼實現?
解決方法:
1. 就目前的表格,我們試一下增加新行後,總計結果到底會不會變?
2. 從上述實驗結果來看,sum 函式對“訂單數”實現了自動新增新增行的智慧統計,但是對“獎金”卻不奏效,為什麼?
這是因為“獎金”單元格本身也是公式,sum 函式遇到公式就不那麼智慧了。
3. 正確答案其實很簡單,將“訂單數”的總計改為以下公式,向右拖動公式複製到 C 列即可:
=SUM(B2:INDEX(B:B,ROW-1))
公式釋義:
同樣是 sum 公式,我們只是將原先的第二個引數 B4 替換成了 INDEX(B:B,ROW-1)
INDEX 函式表示返回區域中的第幾行:INDEX(array,row_num)
index 使用方法可參見 Excel 如何多條件查詢?即同時查詢行、列並返回值?
ROW-1:當前的行數-1,即求和項的上一行
因此 INDEX(B:B,ROW-1) 的含義就是:始終取 B 列求和項的上一行,從而實現本例需求
以下是演示效果: