vector 查找_同样是Excel中的查找函数,这个函数却比VLOOKUP功能强100倍
VLOOKUP函數即使很強大,但是也有局限性,有些查找無法實現。今天,跟大家分享一個萬能查找函數:LOOKUP。
VLOOKUP函數可以實現的查找LOOKUP也可以,VLOOKUP函數不能實現的查找LOOKUP依然可以,這就是它的與眾不同之處。
下面跟大家講講LOOKUP函數的幾種用法:
一、LOOKUP函數語法。
作用:從單行或單列或數組中查找一個值,條件是向后兼容性。分為向量形式和數組形式。
1、向量公式。
= LOOKUP(lookup_value,lookup_vector,[result_vector])。
= LOOKUP(查找值,查找區域,返回結果區域)。
2、數組公式。
= LOOKUP(lookup_value,array)。
= LOOKUP(查找值,數組)。
參數說明:
lookup_value:查找值。必需。可以是對單元格的引用、數字、文本、名稱或邏輯值。
lookup_vector:查找區域。必需。只能是一行或一列。可以是對單元格引用、數字、文本、名稱或邏輯值,文本不區分大小寫。
result_vector:返回的結果區域。可選。只能是一行或一列,且與查找區域大小要相同。
array:行和列中值的集合。必需。可以是對單元格的引用、數字、文本、名稱或邏輯值,文本不區分大小寫。數組的值必須按升序排列。
注意:
(1)lookup函數查詢方式,采用二分法查詢。
(2)lookup_vector和array必須按升序排序,否則不能返回正確的結果。
(3)如果找不到查找值,lookup函數會返回小于或等于查找值的最大值。
(4)如果查找值小于查找區域的最小值,lookup函數會返回 #N/A 錯誤。
(5)如果數組的列數大于行數,則lookup函數會在第一行中查找要找的值。如果數組的行數大于列數,則lookup函數會在第一列中查找要找的值。
二、單條件查找:根據姓名查找測評總分。
要求:根據下圖中C11單元格的姓名查找與之對應的測評總分。
方法一:使用lookup向量形式。
具體操作步驟如下:
1、首先,我們要查找的姓名所在的查找區域為B2:B10,所以先選中B2:B10單元格區域 -- 點擊菜單欄的“數據”選項卡 -- 在“排序和篩選”工具組中點擊“升序”按鈕。
2、在C12單元格中輸入公式“=LOOKUP(C11,B2:B10,E2:E10)”-- 按回車鍵即可。
3、動圖演示如下。
【公式解析】上述公式中的C11為查找值,B2:B10為查找區域,E2:E10為返回結果區域,并且查找區域按升序排列。
方法二:使用lookup數組形式。
具體操作步驟如下:
1、選中B2:E10單元格區域 -- 點擊菜單欄的“數據”選項卡 -- 在“排序和篩選”工具組中點擊“升序”按鈕。
2、在C12單元格中輸入公式“=LOOKUP(C11,B2:E10)”-- 按回車鍵即可。
3、動圖演示如下。
【公式解析】上述公式中C11為查找值,B2:E10為數組集合。查找之前必須先對數組進行升序排序。
三、單條件逆向查找:根據姓名查詢學號。
要求:根據下圖中C11單元格的姓名查找與之對應的學號。
具體操作步驟如下:
1、在C12單元格中輸入公式“=LOOKUP(1,0/($B$2:$B$10=C11),$A$2:$A$10)”-- 按回車鍵即可。
2、動圖演示如下。
【公式解析】($B$2:$B$10=C11)判斷這個區域中是否等于“蔡曉麗”,如果是,返回TRUE,否則,返回FALSE。TRUE=1,FALSE=0。利用LOOKUP的特性(忽略錯誤值),所以用0除TRUE和FALSE,0/($B$2:$B$10=C11)滿足條件返回0,不滿足返回錯誤值。公式變成“=LOOKUP(1,0/{#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!;},$A$2:$A$10)”,可以看到以上公式的數組中只有一個0,其他都是錯誤值。二分法使得LOOKUP只能找到不大于查找值的最后一個數字,因此只能找到0,最后根據0的行位置(第8行)得到第3個參數對應位置的數據,即A8就是我們想要的結果。
四、多條件查找:根據姓名和系院查找專業。
要求:根據下圖中C11單元格的姓名與C12單元格的系院查找與之對應的專業。
具體操作步驟如下:
1、選中C13單元格 -- 在編輯欄中輸入公式“=LOOKUP(1,0/(($B$2:$B$10=C11)*($C$2:$C$10=C12)),$D$2:$D$10)”-- 按回車鍵即可。
2、動圖演示如下。
五、提取單元格內的數字。
要求:在B2:B4單元格中提取A2:A4單元格里面的數字。
具體操作步驟如下:
1、選中B2單元格 -- 在編輯欄中輸入公式“=-LOOKUP(1,-LEFT(A2,ROW($1:$4)))”-- 按回車鍵回車。
2、鼠標移到B2單元格右下角出現“十”字符號時往下拖動單元格至B5,即可提取A2:A5單元格區域里面的數字。
3、動圖演示如下。
【公式解析】LEFT函數是從左往右開始提取,第2個參數使用的是數組形式,ROW($1:$4)相當于{1,2,3,4},所以公式“LEFT(A2,ROW($1:$4))”相當于{"4";"4個";"4個饅";"4個饅頭"},在LEFT前面加上負號,就可以把其中的數字轉為數值,文字變成錯誤值。-LEFT(A2,ROW($1:$4))就相當于{-4;#VALUE!;#VALUE!;#VALUE!}。錯誤值被LOOKUP忽略,所以公式就變成=-LOOKUP(1,{-4})。根據LOOKUP函數的二分法查找原理,當查找值大于查找區域的所有數據時,返回最后一個值,這里只有一個“-4”,所以返回“-4”,在LOOKUP前面加個負號,就變成4,也就是我們要提取的數字。
六、查詢某一列中的最后一個數值。
要求:查找下圖中A列的最后一個數值。
具體操作步驟如下:
1、選中B2單元格 -- 在編輯欄中輸入公式“=LOOKUP(9E+307,A:A)”-- 按回車鍵即可。
2、動圖演示如下。
【公式解析】9E+307是Excel中允許鍵入的最大數值,用它來做LOOKUP函數的查找值,可以返回某一行或某一列中的最后一個數值。
七、查詢某一列中最后一個單元格的內容。
要求:查找下圖中A列的最后一個數值。
具體操作步驟如下:
1、選中B2單元格 -- 在編輯欄中輸入公式“=LOOKUP(1,0/(A:A<>""),A:A)”-- 按回車鍵即可。
2、動圖演示如下。
【公式解析】(A:A<>"")判斷A列的值不等于空,如果等于空就返回。
八、查找某一列中最后一次出現的數據。
要求:查找下圖中D列的姓名在A列區域中最后一次出現的打卡時間。
具體操作步驟如下:
1、選中E2單元格 -- 在編輯欄中輸入公式“=LOOKUP(1,0/($A$2:$A$10=D2),$B$2:$B$10)”-- 按快捷鍵回車。
2、看到上圖中返回的結果是一串小數,我們需要轉換成日期格式。選中E2單元格 -- 點擊鼠標右鍵 -- 選擇“設置單元格格式”。
3、彈出“設置單元格格式”對話框 -- 在“數字”選項卡下點擊“自定義”-- 在“類型”輸入框中選擇“yyyy/m/d h:mm:ss”-- 點擊“確定”按鈕。
4、可以看到那一串浮點數變成日期格式的文本。這就是我們用公式求出的最后一次打卡的時間。
5、動圖演示如下。
九、區間判斷。
要求:判斷下圖中B列銷售業績對應的級別。級別判斷標準為單元格區域E2:F6。
具體操作步驟如下:
1、選中C2單元格 -- 在編輯欄中輸入公式“=LOOKUP(B2,$E$2:$F$6)”-- 按回車鍵回車。
2、鼠標移到C2單元格右下角并雙擊,即可求出C3:C6單元格區域的結果。
3、動圖演示如下。
以上就是我們工作中經常會用到的幾種LOOKUP函數的用法,很多人都說一看就會,一做就不會。其實你只要記住下面這個套路就可以:
=LOOKUP(1,0/((條件1)*( 條件2)* ( 條件N)),目標區域或數組)。
希望你看完這篇文章的時候,可以幫忙轉發點個贊,畢竟這么詳細的教程,網上真的找不到第2篇!
想學更多的Word、Excel等辦公技巧嗎?歡迎關注小編哦,定期更新實用技巧供大家學習。
您的贊賞、關注、轉發、評論、點贊和收藏都是對小編的鼓勵和支持,謝謝您!
總結
以上是生活随笔為你收集整理的vector 查找_同样是Excel中的查找函数,这个函数却比VLOOKUP功能强100倍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python arduino i2c16
- 下一篇: web前端学习文档 电子版_web前端小