當前位置: 妍妍網 > 辦公

說說VLOOKUP,今天一起認識她

2024-05-24辦公

小夥伴們好啊,今天和大家說說函式裏的大眾情人VLOOKUP。

作為職業表親,大家對TA是既愛又恨:經常打交道,卻又時不時的耍個小脾氣,接下來咱們就了解一下這個函式的常用方法。

1、初識VLOOKUP函式

VLOOKUP 是在表格的首列尋找指定的值,並由此返回表格當前行中其他列的值。

我們可以用一種簡單的方法先記住VLOOKUP函式的參數:

=VLOOKUP(需要找的內容,在哪個範圍找,返回尋找區域中第幾列的內容,匹配方式)

要註意的是:其中需要找的內容一定是在數據表的最左列,尋找結果要精確匹配的話,第四個參數要寫 FASLE 或是0。

接下來用幾個範例來進一步說明VLOOKUP函式的用法。

下圖為某公司的員工資訊表,有N多行數據,我們需要找出某員工的一些記錄。

2、尋找指定姓名的部門資訊

我們將需要尋找的姓名記錄在單元格F3中,G3單元格公式為:

=VLOOKUP(F3,$B$1:$D$10,3,0)

以姓名所在列開始向右數, 員工 職務 3 列, 故第三個參數為3。

因為我們想要精確的找到丘處機的職務,即第四個參數采用精確尋找的尋找方式,所以需要寫為 FASLE ,或者 簡寫為0。

如果需要了 解該員工的詳細記錄的話,可以繼續在其他單元格裏寫公式,當然第三個參數會有變化,比如要查詢部門資訊,就應該寫成2。

那如果想更輕松的去書寫公式,有沒有更好的方法呢?

回答是肯定的,只要找到一種能幫我們自動返回列序號的函式就可以了。

3、尋找指定姓名的全部資訊

現在,咱們需要分別查詢丘處機 的部門和職務資訊。

為了能夠在寫好一個公式後,用復制的方法快速把其他公式寫完,我們用COLUMN函式幫我們來數VLOOKUP的第三個參數——列序號:

=VLOOKUP($F3,$B$1:$D$10,COLUMN(B1),0)

COLUMN函式可以返回指定單元格的列號。

公式中使用了COLUMN(B1),計算結果就是B1單元格的列號2。

COLUMN函式的參數使用了相對參照,向右復制的時候,就會變成COLUMN(C1),計算結果就是C1單元格的列號3,這樣就給了VLOOKUP函式一個動態的第三參數。

最後,將COLUMN函式與VLOOKUP拼合在一起, 再把公式復制到其他單元格,就可以很容易的尋找到該員工的全部資料了。

4、尋找模糊條件的資訊

VLOOKUP函式的第一參數可以使用通配符。

如下圖中,F3單元格給出了部門關鍵字,G3就可以根據這個關鍵字尋找到數據表中第一條符合這個條件的資訊。

=VLOOKUP(F3&"*",C2:D10,2,0)

這樣咋一看,咱們可能覺得VLOOKUP函式的第一參數還是挺隨和的。那是不是真的像咱們想的那樣呢?

5、尋找內容區分格式

一起看下圖:

F3單元格是員工的工號,G3單元格使用以下公式用於返回該工號的員工姓名:

=VLOOKUP(F3,A1:D10,2,0)

咱們看公式本身是沒有問題的,但是卻返回了一個錯誤值,這是什麽原因呢?

看出問題來了嗎?

需要尋找的值和數據表中的格式一個是文本,一個是常規。

6、尋找內容區分格式

前面咱們說的都是精確匹配,近似匹配方式在什麽情況下會用到呢?

近似匹配主要用於數值類的查詢,如下圖所示,A~C列是一些業務流水記錄。 現在要統計出每個月最後一筆業務金額。

首先,在E3單元格輸入4月份的月末日期「4-30」,然後下拉,在填充選項中選擇「按月填充」。

接下來選中E3:E6,設定數位格式,自訂為「m月」。

在F3單元格輸入以下公式,下拉:

=VLOOKUP(E3,A:C,3)

VLOOKUP函式使用近似查詢時,要求查詢區域的首列必須是升序排序的,在找不到關鍵字「4-30」這個日期時,就以 比這個日期小,並且與這個日期接近 的記錄來進行匹配。這樣就找到每個月的最後一筆記錄了。

最後咱們來做一下總結:

VLOOKUP函式的特點

1、VLOOKUP函式尋找值支持使用通配符("?"號和"*"號)進行查詢,但尋找值不能使用陣列作為參數來生成記憶體陣列。

2、第4個參數決定了是精確還是近似尋找方式。

如果為0(或FASLE),用精確匹配方式進行尋找,而且支持無序尋找;如果為1(或TRUE),則使用近似匹配方式進行尋找,要求第2個參數的首列或首行按升序排列。

3、第3個參數中的列號,不能理解為工作表中實際的列號,而是指定返回值在尋找範圍中的第幾列。

4、如果尋找值與數據區域關鍵字的數據型別不一致,會返回錯誤值#N/A。

5、如果有多條滿足條件的記錄時,只能返回第一個滿足條件的記錄。

好了,今天老祝說了這麽多,你是聽明白了還是聽糊塗了呢?哈哈,祝各位小夥伴一天好心情!

圖文制作:祝洪忠