標籤:

公式中的組合拳-萬金油公式

前言

萬金油公式是一套高能組合數組公式,應用了INDEX函數,MIN或SMALL函數,以及IF判斷函數,ROW函數,可以返回一列數組中的不重複值或查找多個滿足條件的值。

1列出不重複項

C2=INDEX(A:A,MIN(IF(COUNTIF(C$1:C1,$A$2:$A$100)=0,ROW($A$2:$A$100),65536)))&""

然後按CTRL SHIFT ENTER三鍵結束

下拉複製公式。

這裡的100可以根據你的行數適當調整,可以比你的行數適當大一些,以便於後期增加數據時,不用修改公式

這裡的65536也可以調整為其他一個較大的數值,起碼要比你的總行數要大。

解釋:

首先:在C列當前單元格上面的所有區域中,查找A列所有值的個數,如果個數為0,說明沒查到,則返回他的行號,如果數量大於0,說明是重複的,返回一個較大值,這些返回值形成一個數組。

然後:從數組中查找最小值,即最小的不重複的行號

最後:從A列中,檢索出該行號對應的數值

在公式的最後有個&」」,是為了把結果為0的轉換成空值。

2列出多個滿足條件的值

F2=INDEX(A:A,SMALL(IF($A$1:$A$100=$E$1,ROW($A$1:$A$100),65536),ROW(A1)))&""

然後按CTRL SHIFT ENTER三鍵結束

下拉複製公式。

G2=INDEX(B:B,SMALL(IF($A$1:$A$100=$E$1,ROW($A$1:$A$100),65536),ROW(A1)))&""

然後按CTRL SHIFT ENTER三鍵結束

下拉複製公式。

這裡的100可以根據你的行數適當調整,可以比你的行數適當大一些,以便於後期增加數據時,不用修改公式

這裡的65536也可以調整為其他一個較大的數值,起碼要比你的總行數要大。

解釋:

首先:在A列中查找符合條件的數值,如果符合,則返回他的行號,否則返回一個較大值,這些返回值形成一個數組。

然後:從數組中查找第幾個最小的數,ROW(A1)會隨下拉變成ROW(B1),從而實現第一個最小的,第二個最小的,這些數值指的是符合條件的行號。

最後:從A列中,檢索出該行號對應的數值

在公式的最後有個&」」,是為了把結果為0的轉換成空值。

總結

數組函數雖然複雜,不容易理解,但只要勤于思考,多動手,你就會逐漸理解其中的奧妙。

END

推薦閱讀:

什麼是漂亮的數學公式?漂亮是怎麼體現的?
EXCEL中的數組公式(Ctrl+Shift+Enter結束) - hplonline的日...
六大財務公式——投資項目財務可行性分析
如何判斷多項運算是否需要使用數組公式?
這六個搭配公式,讓你在秋冬帥的無所畏懼~

TAG:公式 | 組合 |