今天跟大家分享1個困擾粉絲10年的Excel問題:如何實現根據條件篩選后求和計數,他表示 SUBTOTAL可以不計算隱藏的數據,但是無法加條件,這個應該如何解決呢?跟大家分享下我的解決方法,操作還是比較巧妙的 一、所需函數 這里我們需要用到4個函數,這些函數之前都講過,如果大家不會用,可以搜下之前的文章,我們先簡單的列舉一下 SUMPRODUCT用于對數據條件求和與計數SUBTOTAL用于判斷當前行的數據是否被隱藏了OFFSET用于獲取多個新的區域,輔助統計ROW獲取單元格的列號 二、函數展示 公式:=SUMPRODUCT(B4:B11*C4:C11*SUBTOTAL(103,OFFSET(A3,ROW(A4:A11)-3,))) 具體效果如下圖所示,我們點擊切片器進行數據篩選,當前的結果能夠跟隨切片器的篩選的結果動態變化,下面跟大家簡介的介紹原理 ![]() 三、原理介紹 這個公式的關鍵點是SUBTOTAL+ OFFSET的應用。在OFFSET(A3,ROW(A4:A11)-3,)這個函數中,ROW(A4:A11)是一個數組,函數會進行多次的偏移,來生成8個新的區域,每個都對應1行數據,效果如下圖所示。 ![]() 生成對應的區域后利用SUBTOTAL函數來進行計數,不計算隱藏的數據,這樣的話沒有被篩選到的就會顯示0,被篩選到的就會顯示為1,將這個條件代入到SUMPRODUCT函數就能實現根據條件不統計隱藏的數據了 ![]() 以上就是今天分享的全部內容,怎么樣,你學會了嗎? ![]() END |
|