當前位置: 妍妍網 > 辦公

LOOKUP函式,這些用法會了嗎?

2024-06-27辦公

小夥伴們好啊,今天老祝和大家一起來學習LOOKUP函式 的一些典型用法。

這個函式有兩個特點:

第一個特點,要求查詢區域必須升序進行排序。如果沒有經過排序,LOOKUP函式也會認為排在數據區域最後的內容,是該區域中最大的。

第二個特點,當尋找不到具體的查詢值時,會以比查詢值小、並且最接近查詢值的內容進行匹配。

另外,還能辨識查詢值是文本 格式 還是數值格式,再以相同類別的內容進行匹配。

1、查詢A列中的最後一個文本

模式化公式為:

=LOOKUP("々",A:A )

"々"通常被看做是一個編碼較大的字元,它的輸入方法為<Alt+41385>組合鍵。

如果感覺每次寫這個符號有點費事兒,也可以寫成:

=LOOKUP("座",A:A )

一般情況下,第一參數寫成「座」也可以返回一列或一行中的最後一個文本。

下圖中,B列的部門是一些合並單元格,在C列使用LOOKUP就能填充完整。

=LOOKUP("座",B$2:B2)

第2參數使用了動態擴充套件的技巧,僅釘選起始單元格的地址,當公式下拉時,LOOKUP函式的查詢區域不斷擴大。

公式相當於是從B2開始,到公式所在行這個區域內,尋找最後一個文本。

2、查詢A列中的最後一個數值

模式化公式為:

=LOOKUP(9E307,A:A)

9E307被認為是接近Excel規範與限制允許鍵入最大數值的數,用它做查詢值,可以返回一列或一行中的最後一個數值。

如果A列中的數據既有文本也有數值,想得到最後一個單元格內容,咱們可以寫成這樣:

=LOOKUP(1,0/(A:A<>""),A:A)

3、逆向查詢

下面這個表中,A:C列是員工基礎資訊表,分別是部門、姓名和職務。

現在要根據E5單元格中的員工姓名,在這個資訊表中查詢屬於哪個部門,也就是咱們常說的逆向查詢,就可以使用LOOKUP函式了。

F5單元格輸入以下公式:

=LOOKUP(1,0/(B2:B10=E5),A2:A10)

得出的結果是「銷售部」。

上面這個公式就是LOOKUP函式最典型用法。 可以歸納為:

=LOOKUP(1,0/(條件區域=指定條件),目標區域或陣列)

公式中的 0/( 條件區域=指定條件) 部份,先使用等式對比條件是否符合,如果符合就返回邏輯值TRUE,否則返回FALSE。最終得到一個記憶體陣列結果。

再使用0除以這個記憶體陣列,0除以 T RUE結果是0,0除以 FALSE結果是錯誤值。

接下來使用1作為查詢值,在記憶體陣列中進行尋找,由於找不到1,就用最後一個0進行匹配,並返回第三參數中同一位置的元素。

如果是多個條件,模式化的寫法為:

=LOOKUP(1,0/(條件1)/(條件2)/(條件N),目標區域或陣列)

4、查詢產品類別

如下面這個圖中所示,A列是產品名稱,D列是型別對照表。

如果產品名稱中包含對照表中的關鍵字,就顯示出該內容。

B2單元格輸入以下公式,向下復制。

=LOOKUP(1,-FIND(D$2:D$7,A2),D$2:D$7)

簡單說說公式各部份的含義:

FIND(D$2:D$7,A2) 」部份:

首先用FIND函式,以 D$2:D$7 單元格中的類別關鍵字作為查詢,在A2單元格中分別查詢這些字元出現的位置,得到一個由錯誤值和數值組成的記憶體陣列。

加上負號後,記憶體陣列中的數值變成負數,錯誤值部份的結果不變。

接下來使用1作為查詢值,在記憶體陣列中進行尋找,由於找不到具體的尋找值,同時LOOKUP認為陣列中最後一個數值一定是所有數值中最大的,因此以最後一個負數與之匹配,並返回第三參數中同一位置 的元素。

關於LOOKUP函式的更多用法,歡迎小夥伴們在留言區分享。

好了今天咱 們的分享就是這些吧 ,祝各位一天好心情~~

圖文制作:祝洪忠