我分析了一下你的提問,發現有以下幾個問題需要解決:
問題一:如何存放一組數與一個數進行比較的返回值
問題二:你需要最終的結果是返回對應的行數,這就需要獲取對應的行數
問題三:找出第一個符合條件的數
好了,找到了問題,我們只需要一一地解決問題就行了,我想到了兩種方法:一種是用輔助列的方法,一種是用陣列的方法。
顧名思義,我們需要一列輔助列來存放計算過程中得到的資料,如下圖:
我們在輔助列的B1單元格里輸入公式:=IF(A1>$C$1,ROW(A1),""),後向下填充。
因為用了輔助列,很輕易地就搞定了問題一,接著用ROW函式的返回值作為IF函式的返回值搞定了問題二,現在就只剩下問題三了。
※ 需要注意的是,作為比較條件的C1單元格一定要用絕對引用,即寫成$C$1或者$C1。
問題三就更簡單了,分析問題三後可知,我們需要第一個符合條件的數所在行的行號,也就是說這個行號在所有符合條件的行號中肯定就是最小的嘛。所以,我們可以用MIN函式來搞定,如下圖:
在D1單元格里輸入公式:=MIN(B1:B20),獲取輔助列中的最小值即可。
怎麼樣,是不是很簡單。
如果你不喜歡在源資料表裡插入輔助列,那我們還可以使用陣列的方法來解決這個問題。
從上面的方法中,我們發現只要解決了IF函式返回值的存放問題,就可以不需要輔助列了,這就需要用到陣列了,看下圖:
我們直接在D1單元格里輸入公式:=MIN(IF(A1:A20>C1,ROW(A1:A20),""))後使用Ctrl + Shift + Enter 的組合鍵結束輸入,最終在編輯欄裡顯示的效果是這樣的:{=MIN(IF(A1:A20>C1,ROW(A1:A20),""))},整個公式是被一對花括號包起來的。
在這個公式中,我們仍然是用的IF、ROW、MIN這三個函式,我們來一步一步地解析一下這個公式:
首先是IF函式,我們把A1:A20>C1作為IF函式的第一引數,這樣就可以一次性的把A1:A20與C1比較後的返回值作為一個數組存放在記憶體中。
然後用ROW(A1:A20)一次性獲取所有的行號。
這樣巢狀後,如果A1:A20與C1的比較值為TRUE則返回ROW(A1:A20)對應的行號,否則返回空值。
這樣IF函式得到的返回結果其實就是輔助列法中的B1:B20的值,但是在這裡這個結果是存放在記憶體中的。
最後我們再把這個結果作為引數巢狀進MIN函式中,就可以得到我們想要的結果了。
我分析了一下你的提問,發現有以下幾個問題需要解決:
問題一:如何存放一組數與一個數進行比較的返回值
問題二:你需要最終的結果是返回對應的行數,這就需要獲取對應的行數
問題三:找出第一個符合條件的數
好了,找到了問題,我們只需要一一地解決問題就行了,我想到了兩種方法:一種是用輔助列的方法,一種是用陣列的方法。
輔助列法:顧名思義,我們需要一列輔助列來存放計算過程中得到的資料,如下圖:
我們在輔助列的B1單元格里輸入公式:=IF(A1>$C$1,ROW(A1),""),後向下填充。
因為用了輔助列,很輕易地就搞定了問題一,接著用ROW函式的返回值作為IF函式的返回值搞定了問題二,現在就只剩下問題三了。
※ 需要注意的是,作為比較條件的C1單元格一定要用絕對引用,即寫成$C$1或者$C1。
問題三就更簡單了,分析問題三後可知,我們需要第一個符合條件的數所在行的行號,也就是說這個行號在所有符合條件的行號中肯定就是最小的嘛。所以,我們可以用MIN函式來搞定,如下圖:
在D1單元格里輸入公式:=MIN(B1:B20),獲取輔助列中的最小值即可。
怎麼樣,是不是很簡單。
陣列法如果你不喜歡在源資料表裡插入輔助列,那我們還可以使用陣列的方法來解決這個問題。
從上面的方法中,我們發現只要解決了IF函式返回值的存放問題,就可以不需要輔助列了,這就需要用到陣列了,看下圖:
我們直接在D1單元格里輸入公式:=MIN(IF(A1:A20>C1,ROW(A1:A20),""))後使用Ctrl + Shift + Enter 的組合鍵結束輸入,最終在編輯欄裡顯示的效果是這樣的:{=MIN(IF(A1:A20>C1,ROW(A1:A20),""))},整個公式是被一對花括號包起來的。
在這個公式中,我們仍然是用的IF、ROW、MIN這三個函式,我們來一步一步地解析一下這個公式:
首先是IF函式,我們把A1:A20>C1作為IF函式的第一引數,這樣就可以一次性的把A1:A20與C1比較後的返回值作為一個數組存放在記憶體中。
然後用ROW(A1:A20)一次性獲取所有的行號。
這樣巢狀後,如果A1:A20與C1的比較值為TRUE則返回ROW(A1:A20)對應的行號,否則返回空值。
這樣IF函式得到的返回結果其實就是輔助列法中的B1:B20的值,但是在這裡這個結果是存放在記憶體中的。
最後我們再把這個結果作為引數巢狀進MIN函式中,就可以得到我們想要的結果了。