1 ?為什么要使用SUMPRODUCT函數?
不論是COUNTIF函數、COUNTIFS函數,還是SUMIF函數、SUMIFS函數,在進行判斷時,工作表必須存在這樣的判斷區域,否則這幾個函數是不能使用的。但是,在實際工作中,原始數據往往是各種各樣的,條件隱含在數據中的情況比比皆是。
下圖就是這樣的一種情況。工作表左邊的4列是原始數據,右側是需要做的匯總報表,按照產品類別和月份進行匯總。
SUMPRODUCT可以替代COUNT、COUNTA、COUNTBLANK、COUNTIF、COUNTIFS、SUMIF、SUMIFS等函數,其原理就是使用條件表達式構建只有數字0和1組成的數組,然后將這個數組中的所有數字1和0相加,就是滿足條件的單元格個數;將這些只有數字0和1的數組與實際求和區域的每個單元格數據相乘相加,就得到滿足條件的合計數。
但是,條件表達式的結果是兩個邏輯值TRUE和FALSE,而SUMPRODUCT會把這兩個邏輯值都當做0處理,因此,需要將條件表達式乘以數字1,或者除以數字1,或者輸入兩個負號,以使其轉換為數字1和0。