有很多同學好奇這個結構=IF({1,0},B4:B7,A4:A7)的含義:

其實只要弄清楚了數據規則,這個結構不難理解。
首先,If的基本用法:
=IF(條件,是則結果,否則結果)
這三個參數都是單個的值,現在我們進行一下數組擴展,先把第二個參數和第三個參數擴展成一列四行,即:
=IF(條件,B4:B7,A4:A7)
這要一來,當條件為邏輯真時,這個公式的結果是B4:B7;當條件為邏輯假時,這個公式的結果為A4:A7。

而邏輯真除了用True以外,還可以用不為0的數值,常用的是1;邏輯假除了用Fasle以外,還可以用數值0,公式就變成了:
{=IF(1,B4:B7,A4:A7)}
{=IF(0,B4:B7,A4:A7)}
讓我們先記住這兩個公式的結果。
再來看{1,0},這是一個一行兩列的常量數組排列。因為是一行兩列,所以行方向上可以擴展,比如就擴展成4行兩列吧:

那么當這個{1,0}放到If的條件參數里去時,B9:B12中結果為1的,就會返回If函數對應的是則結果;C9:C12中結果為0的,就會返回If函數對應的否則結果。

不過因為數組公式影響運算速度,所以現實中的反向查找更建議使用Index套Match結構,當然,最好是不要讓你的數據存在反向查找的麻煩。
這篇文檔我一直以為是我自己寫的,因為我寫過之后就再也沒有打開看過,不過發給過別人幾次,等到這次打開一看才發現截圖里面有“Excel精英培訓”論壇的標記,或許是我當時用了那位大佬的圖吧,或者直接copy了別人的帖子,以上!
