學(xué)習(xí)在篩選狀態(tài)下的計(jì)算套路,難并實(shí)用著!
發(fā)布時(shí)間:2022-11-03 10:37 [ 我要自學(xué)網(wǎng)原創(chuàng) ] 發(fā)布人: 秋文-27173 閱讀: 1915

1、篩選后添加序號

如下圖所示,要在篩選狀態(tài)下也能保持連續(xù)的序號,咱們可以先取消篩選,在D2單元格輸入以下公式,然后下拉:
=SUBTOTAL(3,E$1:E2)-1


SUBTOTAL函數(shù)只統(tǒng)計(jì)可見單元格內(nèi)容。
第一參數(shù)使用3,表示執(zhí)行COUNTA函數(shù)的計(jì)算規(guī)則,也就是對第二參數(shù)統(tǒng)計(jì)可見單元格的個(gè)數(shù)。
第二參數(shù)使用一個(gè)動態(tài)擴(kuò)展的范圍E$1:E2,隨著公式的下拉,這個(gè)范圍會依次變成E$1:E3,E$1:E4,E$1:E5,……
公式始終計(jì)算E列從第一行至公式所在行這個(gè)區(qū)域中,處于可見狀態(tài)的非空單元格個(gè)數(shù)。用結(jié)果減1,計(jì)算結(jié)果就是和序號一樣了,而且篩選后也能保持連續(xù)。

注意,注意,這個(gè)公式如果換成從=SUBTOTAL(3,E$2:E2),也就是從公式所在行開始的話,序號結(jié)果雖然沒問題,但是篩選時(shí)最后一行會被Excel當(dāng)成匯總行而始終顯示。

 

2、篩選后相乘

如下圖所示,在對E列執(zhí)行篩選后,需要計(jì)算數(shù)量乘以單價(jià)的總額。
E2單元格公式為:
=SUMPRODUCT(SUBTOTAL(3,OFFSET(E3,ROW(1:13),))*F4:F16*G4:G16)


要計(jì)算篩選后的乘積,問題的關(guān)鍵是判斷數(shù)據(jù)是不是處于可見狀態(tài)。
這個(gè)可見狀態(tài)怎么判斷呢?
需要讓OFFSET和SUBTOTAL函數(shù)來結(jié)合一下。
首先使用OFFSET函數(shù),以E3單元格為基點(diǎn),依次向下偏移1~13行,得到一個(gè)多維引用。這個(gè)多維引用中包含13個(gè)一行一列的引用區(qū)域,也就是對E4~E16的單個(gè)單元格分別進(jìn)行引用。
接下來使用SUBTOTAL函數(shù),第一參數(shù)使用3,即依次統(tǒng)計(jì)E4~E16每個(gè)單元格中的可見單元格個(gè)數(shù),如果單元格處于顯示狀態(tài),則對這個(gè)單元格的統(tǒng)計(jì)結(jié)果為1,否則統(tǒng)計(jì)結(jié)果為0。得到類似以下效果的內(nèi)存數(shù)組:
{1;0;1;1;1;1;0;0;1;1;0;1;0}
再使用以上結(jié)果乘以F列的數(shù)量和G列的單價(jià),如果單元格處于顯示狀態(tài),則相當(dāng)于1*數(shù)量*單價(jià),否則相當(dāng)于0*數(shù)量*單價(jià)。
最后使用SUMPRODUCT函數(shù)對乘積進(jìn)行求和。

 

3、篩選后按條件計(jì)數(shù)

如下圖所示,對E列部門執(zhí)行篩選后,要計(jì)算工齡大于3的人數(shù)。
E2單元格公式為:
=SUMPRODUCT(SUBTOTAL(3,OFFSET(E3,ROW(1:13),))*(G4:G16>3))


前半部分計(jì)算原理與上一個(gè)示例相同,核心也是判斷是單元格否處于可見狀態(tài)。
公式后半段的統(tǒng)計(jì)條件(G4:G16>3)與前半段的判斷結(jié)果相乘,表示兩個(gè)條件同時(shí)符合,也就是處于可見狀態(tài)、并且G列大于3的個(gè)數(shù)。

 

4、篩選后自動更正標(biāo)題

如下圖所示,對E列部門名稱進(jìn)行篩選后,希望D1單元格的標(biāo)題自動變更為對應(yīng)的部門名稱,公式為:
=LOOKUP(1,0/SUBTOTAL(3,OFFSET(D1,ROW(1:15)-1,)),E:E)&”統(tǒng)計(jì)表”


SUBTOTAL與OFFSET函數(shù)結(jié)合部分,目的仍然是判斷D列的單元格是否為可見狀態(tài)。得到由0和1組成的內(nèi)存數(shù)組:
{0;1;0;0;0;0;1;1;1;1;0;1;0;1;0}
用0/這個(gè)內(nèi)存數(shù)組,得到由0和錯(cuò)誤值構(gòu)成的新內(nèi)存數(shù)組:
{#DIV/0!;0;#DIV/0!……;0;0;0;0;#DIV/0!;0;#DIV/0!;0;#DIV/0!}
LOOKUP函數(shù)以1作為查詢值,在以上內(nèi)存數(shù)組中查找最后一個(gè)0的位置,并返回對應(yīng)位置的E列的內(nèi)容。
最終目的就是實(shí)現(xiàn)篩選后,提取最后一個(gè)處于顯示狀態(tài)的單元格內(nèi)容。
將提取到的內(nèi)容與&”統(tǒng)計(jì)表”連接,變成可自動更新的表格標(biāo)題。

Excel2019視頻教程
我要自學(xué)網(wǎng)商城 ¥80 元
進(jìn)入購買
文章評論
添加表情
遵守中華人民共和國的各項(xiàng)道德法規(guī),
承擔(dān)因您的行為而導(dǎo)致的法律責(zé)任,
本站有權(quán)保留或刪除有爭議評論。
參與本評論即表明您已經(jīng)閱讀并接受
上述條款。
V
特惠充值
聯(lián)系客服
APP下載
官方微信
返回頂部
分類選擇:
電腦辦公 平面設(shè)計(jì) 室內(nèi)設(shè)計(jì) 室外設(shè)計(jì) 機(jī)械設(shè)計(jì) 工業(yè)自動化 影視動畫 程序開發(fā) 網(wǎng)頁設(shè)計(jì) 會計(jì)課程 興趣成長 AIGC