按條件提取數據,無論是一對多還是多對多的提取,我們都會使用經典的套路組合。那么,在篩選條件下,我們還可以使用嗎? 題目時這樣子的: ![]() 在篩選條件下,提取成績大于等于70分的所有數據。 在篩選條件下,我們仍舊可以使用對多的經典公式。 ![]() 在單元格A2中輸入下列公式,三鍵回車并向右向下拖曳即可。 =IFERROR(INDEX(Sheet1!A$2:A$61,SMALL(IF(SUBTOTAL(3,OFFSET(Sheet1!$D$1,ROW($1:$60),))*(Sheet1!$D$2:$D$61)>=80,ROW(Sheet1!$D$2:$D$61)-1),ROW(A1))),'')
這部分,以sheet1中單元格D1為基點,分別向下移動1行-60行,形成一個新的內存數組。 SUBTOTAL(3,OFFSET(Sheet1!$D$1,ROW($1:$60),)) 這部分,利用SUBSTOTAL來判斷哪些單元格是隱藏狀態,哪些是顯示狀態,并分別返回0和1。
條件判斷。 IF(SUBTOTAL(3,OFFSET(Sheet1!$D$1,ROW($1:$60),))*(Sheet1!$D$2:$D$61)>=80,ROW(Sheet1!$D$2:$D$61)-1) IF函數對上面的條件進行判斷,滿足部分返回對應的行號。
INDEX函數嵌套SMALL函數返回正確答案。 最后IFERROR函數屏蔽錯誤 這個就是我們在篩選條件下按條件提取數據的經典套路! ![]() |
|
來自: 互利互讀一輩子 > 《篩選條件下提取數據》