
厲害了,我的SUMIFS函數
今天講的SUMIFS函數,相對LOOKUP而言,它有兩個優勢:
1、計算效率更高,當數據超過1萬行,LOOKUP函數就會很卡,而SUMIFS函數依然不卡。
2、顯示效果會更好,LOOKUP函數查找不到對應值顯示錯誤值,而SUMIFS函數查找不到對應值顯示0。
比如我們用SUMIFS函數來查找金額。=SUMIFS(C:C,A:A,E2,B:B,F2)
"將項目改成【函數班】,因為沒有對應值,就直接顯示0。
"SUMIFS函數語法:=SUMIFS(求和區域,條件區域1,條件1,條件區域2,條件2,條件區域N,條件N)
第一參數為求和區域,后面的條件區域和條件一一對應,下面通過4個案例進行說明。
一、統計每個學校的金額。
"正常情況下,單條件我們想到的是用SUMIF函數統計,其實SUMIFS函數不僅可以多條件求和,也可以單條件求和。=SUMIFS(D:D,A:A,F2)
學會了SUMIFS函數,SUMIF函數也可以不用學。
二、統計每個學校對應分類的金額。
"在J2輸入公式,下拉和右拉。=SUMIFS($D:$D,$A:$A,$I2,$C:$C,J$1)
混合引用是所有引用方式中最難理解的,有不少讀者到現在都沒弄清楚該如何使用,這里再說明一下。
公式在下拉的時候,我們希望第一行的單元格不改變,將美元符號放在數字前面就鎖定行號不變J$1。
公式右拉的時候,我們希望I列這一列的單元格不改變,將美元符號放在列前面就鎖定列號不變$I2。
公式既要下拉,也要右拉,區域都是使用絕對引用。假設我們現在不是引用整列,區域就需要在行號跟列號前面都加美元符號,如$D$2:$D$221。
整個公式,這個引用方式是難點,自己動手多操練幾次,可以通過按F4鍵不斷切換引用方式。現在來演示一下,在欄切換引用方式。
"提示:有的電腦比較特殊,需要按Fn+F4組合鍵才可以。
三、計算每個員工號的每一列單位金額。
"原來使用一個個單元格加起來的方法,如果引用的單元格比較少,這種也是不錯的選擇。當引用的單元格多的情況下,容易出錯。這時SUMIFS函數就派上用場了。=SUMIFS(B2:Q2,$B$1:$Q$1,”單位金額”)
財務人對金額比較敏感,有的時候差1,2分錢都不行,這時在函數外面嵌套一個ROUND函數進行四舍五入,保留2位小數點。=ROUND(SUMIFS(B2:Q2,$B$1:$Q$1,”單位金額”),2)
四、統計1-6月每個銷售人員對應商品的銷售量。
格式相同的明細表
"匯總表
"求1月份的銷售量可以用:=SUMIFS(1月!C:C,1月!A:A,A2,1月!B:B,B2)
常規方法是寫6個SUMIFS相加。,但6個月的數據改起來也不是太費勁,不過如果是12個月,甚至有的是按天進行分表格,一年365個表格,直接寫暈。
比較智能的方法應該是這樣寫公式:=SUMPRODUCT(SUMIFS(INDIRECT(ROW($1:$6)&”月!C:C”),INDIRECT(ROW($1:$6)&”月!A:A”),A2,INDIRECT(ROW($1:$6)&”月!B:B”),B2))
公式看起來很復雜,其實并不難。
1、ROW($1:$6)的作用就是獲取1-6的數字。
2、ROW($1:$6)&”月!C:C”的作用就是獲取1-6月C列的文本字符串,并不能參與計算。
3、INDIRECT(ROW($1:$6)&”月!C:C”)的作用就將1-6月C列的文本字符串轉變成區域,并能參與計算。
同理,其他參數的INDIRECT都是一樣的作用。
這時用SUMIFS函數統計出來的結果是6個數據:={151;0;0;0;0;0}
在最外面嵌套SUMPRODUCT函數,就可以對這些數據進行求和。
如果現在有12個月,只需將公式中的6改成12就可以。=SUMPRODUCT(SUMIFS(INDIRECT(ROW($1:$12)&”月!C:C”),INDIRECT(ROW($1:$12)&”月!A:A”),A2,INDIRECT(ROW($1:$12)&”月!B:B”),B2))

