各位表親好啊,今天和大家說說函式裡的大眾情人vlookup,作為職業表親,大家對ta是既愛又恨:經常打交道,卻又時不時的耍個小脾氣,接下來咱們就慢慢開扒。
初識vlookup函式
vlookup 是在**的首列查詢指定的值,並由此返回**當前行中其他列的值。
我們可以用一種簡單的方法先記住vlookup函式的引數:
=vlookup(需要找的內容,用來查詢的資料表,返回資料表中第幾列的內容,匹配的方式)
要注意的是:其中需要找的內容一定是在資料表的最左列,查詢結果要精確的話,第四個引數要寫false或是0。
接下來我們用示例來進一步說明vlookup函式的用法。
下圖為某公司的員工資訊表,有n多行資料,我們需要找出某員工的一些記錄。
查詢指定姓名的部門資訊
我們將需要查詢的姓名記錄在單元格f5中,然後在g5中寫公式:
=vlookup($f$5,$b$1:$d$10,2,0)
由於員工部門對於員工資訊表在第2列(以姓名所在列為1,向右數),故第三個引數為2。
因為我們想要精確的找到天竺僧的部門,即第四個引數採用精確查詢的查詢方式,所以需要寫為false
而在excel中,false的邏輯值為0,因此可以簡寫為0。
採用上述的公式,我們就很容易的查到天竺僧是的部門是生產部。
如果需要了解該員工的詳細記錄的話,可以繼續在其他單元格裡書寫公式,當然第三個引數會有變化,比如職務在第3列就應該寫成3。
那如果想更輕鬆的去書寫公式,有沒有更好的方法呢?
回答是肯定的,只要找到一種能幫我們自動返回列序號的函式就可以了。
下面的例子將詳細說明。
查詢指定姓名的全部資訊
從表中知道,我們需要了解姓名為天竺僧的部門和職務兩種資訊。
為了簡化公式,就是說寫好乙個公式後用複製的方法快速把其他公式寫完,我們就採用column函式幫我們來數vlookup的第三個引數——列序號。
column函式可以返回指定單元格的列號。
公式中使用了column(b1),計算結果就是b1單元格的列號2。
column函式的引數使用了相對引用,向右複製的時候,就會變成column(c1),計算結果就是c1單元格的列號3,這樣就給了vlookup函式乙個動態的第三引數。
最後,將column函式與vlookup拼合在一起,變成公式:
=vlookup($f$5,$b$1:$d$10,column(b1),)
再把公式複製到其他單元格,就可以很容易的查詢到該員工的全部資料了。
另外,在使用vlookup函式的時候,如果第四個引數是true,要求資料表必須按公升序排列,否則就會出現計算錯誤,如果第四個引數是false,則不用考慮資料表的公升降序順序。
一對多的資訊查詢
在工作中常常會出現重覆記錄的情況,可以通過一些技術手段來限制或規避,但像重名這類問題恐怕難以避免。
那遇到重名怎麼辦?
由於vlookup函式的第乙個引數要求必須是唯一的,不然返回的只能是第一次遇到的記錄,因此解決這類問題的方法就變成尋找唯一值。
可以借助輔助列的方式,加上行號或是工號等資訊,將兩列資料合併成乙個新的輔助列,放在原資料表的最左邊,接下來問題就迎刃而解了。
查詢模糊條件的資訊
vlookup函式的第一引數可以使用萬用字元。
如下圖中,f5單元格給出了姓氏,g5就可以根據姓氏查詢到資料表中第一條符合這個姓氏的資訊。
這樣咋一看,咱們可能覺得vlookup函式的第一引數還是挺隨和的。那是不是真的像咱們想的那樣呢?
查詢內容區分格式
一起看下圖:
f5單元格是員工的工號,g5單元格使用以下公式用於返回該工號的部門資訊:
=vlookup($f$5,$a$1:$d$10,3,)
咱們看公式本身是沒有問題的,但是卻返回了乙個錯誤值,這是什麼原因呢?
看出問題來了吧?
需要查詢的值和資料表中的格式乙個是文字乙個常規,vlookup函式較真兒了——不一樣,就是不一樣。
最後咱們來做一下總結:
vlookup函式五個特點
1、vlookup函式查詢值支援使用萬用字元("?"號和"*"號)進行查詢,但查詢值不能使用陣列作為引數來生成記憶體陣列。
2、第4個引數決定了是精確還是近似查詢方式。
如果為0(或fasle),用精確匹配方式進行查詢,而且支援無序查詢;如果為1(或true),則使用近似匹配方式進行查詢,要求第2個引數的首列或首行按公升序排列。
3、第3個引數中的列號,不能理解為工作表中實際的列號,而是指定返回值在查詢範圍中的第幾列。
4、如果查詢值與資料區域關鍵字的資料型別不一致,會返回錯誤值#n/a。
5、如果有多條滿足條件的記錄時,只能返回第乙個滿足條件的記錄。
好了,今天老祝說了這麼多,你是聽明白了還是聽糊塗了呢?哈哈,祝各位小夥伴一天好心情!
**製作:祝洪忠
和vlookup VLOOKUP套路大全
vlookup 要找誰,在哪兒找,返回第幾列的內容,精確找還是近似找 第一引數是要在 或區域的第一列中查詢的值。第二引數是需要查詢的單元格區域,這個區域中的首列必須要包含查詢值,否則公式將返回錯誤值。如果查詢區域中包含多個符合條件的查詢值,vlookup函式只能返回第乙個查詢到的結果。第三引數用於指...
和 區別和聯絡, 和 區別和聯絡
和 區別和聯絡,和 區別和聯絡,實際專案中,什麼情況用哪種?首先,和 的聯絡 共同點 和 都可以用作 邏輯與 運算子,都是雙目運算子。具體要看使用時的具體條件來決定。無論使用哪種運算子,對最終的運算結果都沒有影響。情況1 當上述的運算元是boolean型別變數時,和 都可以用作邏輯與運算子。情況2 ...
rpx和樣式和class和flex
5 style 靜態的樣式統一寫到 class 中。style 接收動態的樣式,在執行時會進行解析,請盡量避免將靜態的樣式寫進 style 中,以免影響渲染速度。例 6 class 用於指定樣式規則,其屬性值是樣式規則中類選擇器名 樣式類名 的集合,樣式類名不需要帶上.樣式類名之間用空格分隔。關於f...