編按: 篩選后再按平常的方式用函數按條件計數、按條件求和等會出現錯誤。這個時候怎么辦?推薦用SUBTOTAL+OFFSET組合。 直接輸入公式=COUNTIF(D2:D17,">150")的話,結果是錯的。當前的錯誤在于它統計的是整個數據而不是篩選后的數據。同序號類似,要用SUBTOTAL對可見單元格計數。公式=SUMPRODUCT(SUBTOTAL(3,OFFSET($D$1,ROW(1:16),))*(D2:D17>150))最核心的是SUBTOTAL(3,OFFSET($D$1,ROW(1:16),))。OFFSET($D$1,ROW(1:16),)逐一取D1下方的第1、2、3……16行數據。實際就是將D2:D17單元格分別引用一次。然后用SUBTOTAL判斷每個數是否可見,可見就計數為1,不可見計數為0,得到一組由1和0組成的數組。最后與大于150的條件判斷結果相乘,并通過SUMPRODUCT對乘積求和。求單價大于10的銷售數量。處理辦法與篩選后按條件計數類似。公式=SUMPRODUCT(SUBTOTAL(3,OFFSET($D$1,ROW(1:16),))*D2:D17*(E2:E17>10))
|