當前位置: 妍妍網 > 辦公

篩選狀態下的計算,還不會請舉手

2024-07-17辦公

如下圖,是某食堂的采購記錄,需要計算篩選後的商品總價。

G1單元格輸入公式:

=SUMPRODUCT(SUBTOTAL(3,OFFSET(A1,ROW(1:9),0))*C2:C10*D2:D10)

接下來咱們簡單說說公式的計算過程:

要計算篩選後的內容,首先需要判斷單元格是不是處於顯示狀態。

先來看 OFFSET的基本用法:

=OFFSET(基點,偏移的行數,偏移的列數,[新參照的行數],[新參照的列數])

公式中的OFFSET ( A1,RO W(1:9),0 )部份 ,OFFSET函式以A1單元格為基點,向下偏移的行數是ROW(1:9)的計算結果,表示依次向下偏移1~9行,最終得到9個參照區域,每個單元格區域由一個單元格構成。

這裏涉及到 多維參照的知識點,小夥伴們如果犯迷糊,可以先收藏一下。

接下來使用SUBTOTAL函式對OFFSET函式得到的多個參照區域進行處理,第一參數使用3,表示使用COUNTA函式的計算規則,即依次統計A2~A9這九個單元格區域中的不為空的單元格個數。

如果單元格處於顯示狀態,則對這個單元格的統計結果為1,否則統計結果為0。

這部份公式得到類似下面的效果:

{0;0;0;0;0;1;1;1;1}

再用SUBTOTAL函式的結果乘以C列的單價和D列的數量,如果單元格處於顯示狀態,則相當於1*數量*單價,否則相當於0*數量*單價。

最後使用SUMPRODUCT函式對乘積進行求和,得到篩選後的商品總價。

好了,今天的內容就是這些吧,祝各位一天好心情。

圖文制作:祝洪忠