今天講的SUMIFS函數,相對LOOKUP而言,它有兩個優(yōu)勢:
1、計算效率更高,當數據超過1萬行,LOOKUP函數就會很卡,而SUMIFS函數依然不卡。
2、顯示效果會更好,LOOKUP函數查找不到對應值顯示錯誤值,而SUMIFS函數查找不到對應值顯示0。
比如我們用SUMIFS函數來查找金額。=SUMIFS(C:C,A:A,E2,B:B,F2)
求1月份的銷售量可以用:=SUMIFS(1月!C:C,1月!A:A,A2,1月!B:B,B2)
常規(guī)方法是寫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列的文本字符串轉變成區(qū)域,并能參與計算。
同理,其他參數的INDIRECT都是一樣的作用。
這時用SUMIFS函數統(tǒng)計出來的結果是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))