Excel情報局 職場聯(lián)盟Excel 大家好,今天我們來解決群里的一位粉絲咨詢的問題:如何獲取"第一次大于80分的成績"?,在這里小編簡單整理了兩種解決方案,當(dāng)然解題的方法肯定不局限于這兩種,希望大家發(fā)散思維,找到更多適合自己的方法。 如下圖所示: 是一位同學(xué)的每月月末考核成績記錄,A列是日期,B列是對應(yīng)的成績。我們想要在D2單元格獲取到第一次大于80分的成績是多少。因?yàn)榇笥?0分的成績有B4單元格的“86”與B6單元格的“95”,而我們需要的只是第一次大于80分的成績“86”。 第一種方法使用INDEX函數(shù)與MATCH函數(shù)組合。 首先輸入公式: =B2:B7>80 我們讓B2:B7區(qū)域內(nèi)的每個單元格的數(shù)字大于80,會輸出一列邏輯判斷值組成的數(shù)組溢出結(jié)果,當(dāng)B2:B7區(qū)域內(nèi)單元格數(shù)字大于80時,返回邏輯值TRUE;反之,返回邏輯值FALSE。 即:{FALSE;FALSE;TRUE;FALSE;TRUE;FALSE} 繼續(xù)向外面嵌套MATCH函數(shù): =MATCH(TRUE,B2:B7>80,0) 我們利用MATCH函數(shù)查找邏輯值“TRUE” 在數(shù)組{FALSE;FALSE;TRUE;FALSE;TRUE;FALSE}中進(jìn)行精確查找,查找到第一個邏輯值“TRUE”出現(xiàn)的位置是“3”。 最后再向外嵌套INDEX函數(shù): =INDEX(B2:B7,MATCH(TRUE,B2:B7>80,0),1) 利用INDEX函數(shù),查找B2:B7區(qū)域內(nèi),第3行與第1列交叉位置的值“86”,至此第一次大于80分的成績“86”就得到了。 這里需要注意的是,INDEX函數(shù)的第3參數(shù)列序號“1”與第一參數(shù)B2:B7區(qū)域其實(shí)是重合了,所以可以省略第三參數(shù),變成這樣更簡潔: =INDEX(B2:B7,MATCH(TRUE,B2:B7>80,0)) 第二種方法使用FILTER函數(shù)與TAKE函數(shù)組合。 首先輸入FILTER函數(shù): =FILTER(B2:B7,B2:B7>80) 利用FILTER函數(shù),篩選B2:B7區(qū)域內(nèi)符合條件B2:B7>80的所有成績,所以B列成績大于80分的所有記錄會被篩選出來,數(shù)組自動溢出為{86;95}。 最后使用TAKE函數(shù): =TAKE(FILTER(B2:B7,B2:B7>80),1) TAKE函數(shù)可以數(shù)組開頭或結(jié)果返回行或列。 所以利用TAKE函數(shù),將上一步篩選出來的數(shù)組{86;95}中的第一個數(shù)字提取出來即“86”,至此第一次大于80分的成績“86”就得到了。 |
|