假如金額含有錯誤值,求和就會出錯,怎么解決?
這個問題,有一大堆粉絲提供了自己的想法,但都沒用電腦驗證,那盧子就來逐一幫你驗證。
1.*換成,
測試失敗,依然是錯誤值。
=SUMPRODUCT(--(MONTH($B$2:$B$8)=D2),$A$2:$A$8)
這種用法,作用是忽略文本求和,不是忽略錯誤值。現(xiàn)在將錯誤值換成文本,就可以正常統(tǒng)計。
2.技巧法去除錯誤值
如果是一列,直接篩選錯誤值,然后刪除掉就行,這種比較簡單,就不做演示。
表格的列數(shù)不確定,存在多處有錯誤值。選擇區(qū)域,按Ctrl+G,定位公式,取消勾選數(shù)字、文本、邏輯值,只留下錯誤,確定,再按Delete。
去除后,原來的公式就能解決。
3.公式去除錯誤值
一般都用輔助列,有好幾個公式能去除。
=IFERROR(A2,0)
=IF(ISNUMBER(A2),A2,0)
=IF(ISNA(A2),0,A2)
去除后,引用輔助列的區(qū)域就能解決。
=SUMPRODUCT((MONTH($B$2:$B$8)=D2)*$C$2:$C$8)
4.數(shù)組公式直接求和
數(shù)組公式可以省略掉輔助列,不過要按Ctrl+Shift+Enter三鍵結束。
=SUMPRODUCT((MONTH($B$2:$B$8)=D2)*IFERROR($A$2:$A$8,0))
5.特殊公式求和
幾個月前,有老學員寫過,能解決,不過感覺比較繞。
=SUMIFS(A:A,A:A,"<9e307",B:B,">="&DATE(2022,D2,1),B:B,"<="&DATE(2022,D2+1,0))
9e307是最大的數(shù)字,條件"<9e307",就是對所有數(shù)字求和,也就是忽略錯誤值、文本。
=SUMIFS(A:A,A:A,"<9e307")
DATE(2022,D2,1)是獲取D2這個月份的第1天,也就是2022/9/1。
DATE(2022,D2+1,1),是獲取D2+1這個月份的第1天,也就是下個月的第1天。而第3參數(shù)1變成0,也就是少了1天,也就是9月的最后一天2022/9/30。
繞了一圈,就是為了判斷日期是這個月份的。
這個公式也有一個好處,就是可以直接引用整列,比較方便。
錯誤值正常情況下都是沒啥用的,而且還會給你帶來一大堆麻煩。但對于圖表高手來說,卻經(jīng)常變廢為寶。詳見文章:領導這個另類需求真要了我的老命,搞了半天沒整出來
思考題,如何根據(jù)左邊的明細,統(tǒng)計每個區(qū)間的人數(shù)、金額?
陪你學Excel,一生夠不夠?