
Excel數(shù)組公式獲取自動篩選后第一行的行號
在Excel中進行自動篩選后,篩選結(jié)果中第一行的行號是不確定的。在某些特定的篩選中(例如某列篩選內(nèi)容都是相同的),要獲取篩選后這列單元格的內(nèi)容,就需要先取得篩選后第一行的行號。下面的數(shù)組公式可以實現(xiàn)這個目的,假如標(biāo)題在第4行,數(shù)據(jù)在A5:D500區(qū)域并進行了如圖所示的自動篩選。
在A2中輸入數(shù)組公式:
=MATCH(1,SUBTOTAL(3,OFFSET(A5,ROW(A5:A500)-ROW(A5),0)),0)+ROW(A4)
公式輸入完畢后按Ctrl+Shift+Enter結(jié)束(下同),即可獲得篩選后第一行的行號“28”。
或用下面的數(shù)組公式:
=MIN(IF(SUBTOTAL(3,INDIRECT(ADDRESS(ROW(A5:A500),1))),ROW(A5:A500)))
說明:SUBTOTAL函數(shù)總是忽略篩選結(jié)果中隱藏的行,其第一個參數(shù)為“3”,相當(dāng)于COUNTA函數(shù),用該函數(shù)與OFFSET函數(shù)或INDIRECT函數(shù)的組合獲取一個包含“0”和“1”的數(shù)組,其中第一個“1”在數(shù)組中的位置即篩選結(jié)果中第一行的位置,第一個公式用MATCH函數(shù)獲取,第二個公式將“1”用行號替換,其最小值即為第一行行號。
要取得A列篩選結(jié)果中第一行單元格的內(nèi)容,可用下面的數(shù)組公式:
=OFFSET(A1,MATCH(1,SUBTOTAL(3,OFFSET(A5,ROW(A5:A500)-ROW(A5),0)),0)+ROW(A4)-1,)

