EXCEL多區域查找公式詳解


這是我們公式解讀第二期第一期:萬金油公式解讀

【Excel技巧1001-21】- 庖丁就牛Excel"萬金油"公式


說起查找你可能想到我們最常用的VLOOKUP或者INDEX+MATCH組合
基本可以解決大部分查詢引用問題當時有的時候由於數據佈局問題,這個套路就搞不定了今天的就是其中之一

EXCEL多區域查找公式詳解

對於新手這個使用函數就難很多了具體如何處理請看公式及詳解:

=INDIRECT(TEXT(MIN(IF($B$3:$I$10=B15,ROW($B$3:$I$10)*100+COLUMN($B$3:$I$10)+1)),"R0C00"),)


EXCEL多區域查找公式詳解

庖丁解牛:一般從內到外,按公式1、2、3……解讀



公式1:IF($B$3:$I$10=B15,ROW($B$3:$I$10)*100+COLUMN($B$3:$I$10)+1)
解:判斷整個數據區域中等於我們要查找的值,如果滿足條件,我們就把行*100+列+1這裡乘100 是為了和列區別開,+1 則是我們提取的數據在查找數據的右邊1列這裡IF第二參數,省略,默認FALSE,這也關係到下一步


關羽對應的公式1結果:
{FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE;503,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE;FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE}


公式2:MIN(公式1)

解:上一步滿足條件的可能有多個,結果是一個數組,這裡我們通過MIN來提取其中最小的,如果我們有多個滿足條件的值,都先提取,可以考慮使用SMLL+ROW(或者COLUMN)全部取出。公式1中FALSE在Excel中是大於數值的。
關羽對應的公式2結果:503


公式3:TEXT(公式2,"R0C00")

解:TEXT可以格式化文本,這裡格式化後就是 R5C03,這EXCEL除了我們熟悉的A1 格式還是等效的R1C1,R-ROW,C-COlUMN,這一步我們就拿到了滿足條件的單元格地址,下一步就是取值。關羽對應的公式3結果:R5C03


公式4:INDIRECT(公式3,)

解:INDIRECT(地址),一般用法,我們可以通過給定的單元格地址,獲取到其中的數據,默認是A1模式,我們這裡使用R1C1模式,所以第二參數使用FALSE,也就是0,0在一些函數中可以省略不寫,比如我們這裡,只寫了一個逗號!
關羽對應的公式4結果:INDRIECT("R5C03",)=751 第5行第3列的值!


小結:

1、很多問題看起來非常複雜,其實只要我們優化一下數據源的佈局,可能就非常簡單,比如這裡如果只是一列數據,而不是三列,那麼VLOOKUP就可以搞定!
2、複雜的公式,一般我們都是根據需求逐步分解,從內到外進行書寫,逐步嵌套完成,這就要求我們有一定量的函數積累,和對每個函數的參數的用法非常熟悉,比如MID函數的結果是文本,那麼你就不可以直接作為一些求和函數的參數等等



分享到:


相關文章: