日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Excel中实现模糊查询-LOOKUP+FIND函数

發布時間:2024/3/26 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Excel中实现模糊查询-LOOKUP+FIND函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Excel中實現模糊查詢-LOOKUP+FIND函數

  • LOOKUP函數
    • 函數簡介
    • 函數使用方法
  • FIND函數
    • 函數簡介
    • 函數語法
  • 示例

LOOKUP函數

函數簡介

??LOOKUP函數是Excel中的一種運算函數,實質是返回向量或數組中的數值,要求數值必須按升序排序。

------粘百度百科

函數使用方法

(1)向量形式:公式為

=LOOKUP(lookup_value,lookup_vector,result_vector)

式中 lookup_value—函數LOOKUP在第一個向量中所要查找的數值,它可以為數字、文本、邏輯值或包含數值的名稱或引用;
lookup_vector—只包含一行或一列的區域,其可以是文本、數字或邏輯值;
result_vector—只包含一行或一列的區域,其大小必須與 lookup_vector 相同。
(2)數組形式:公式為

= LOOKUP(lookup_value,array)

式中 array—包含文本、數字或邏輯值的單元格區域或數組它的值用于與 lookup_value 進行比較。
例如:LOOKUP(5.2,{4.2,5,7,9,10})=5。
?
注意:
??array和lookup_vector的數據必須按升序排列,否則函數LOOKUP不能返回正確的結果。文本不區分大小寫。

  • 如果函數LOOKUP找不到lookup_value,則查找array和 lookup_vector中小于lookup_value的最大數值。
  • 如果lookup_value小于array和 lookup_vector中的最小值,函數LOOKUP返回錯誤值#N/A。
  • 另外還要注意:函數LOOKUP在查找字符方面是不支持通配符的,但可以使用FIND函數的形式來代替。

------粘百度百科

?

FIND函數

函數簡介

??Find函數用來對原始數據中某個字符串進行定位,以確定其位置。Find函數進行定位時,總是從指定位置開始,返回找到的第一個匹配字符串的位置,而不管其后是否還有相匹配的字符串。

------粘百度百科

函數語法

該函數的語法規則如下:

=FIND(find_text,within_text,start_num)

Find_text 是要查找的字符串。
Within_text 是包含要查找關鍵字的單元格。就是說要在這個單元格內查找關鍵字。
Start_num 指定開始進行查找的字符數。比如Start_num為1,則從單元格內第一個字符開始查找關鍵字。如果忽略 start_num,則假設其為 1。
?
注意:
??使用find函數可從文本字符串中查找特定的文本,并返回查找文本的起始位置。查找時,要區分大小寫。全角和半角字符。查找結果的字符位置不分全角和半角,作為一個字符來計算。可以單獨使用find函數,例如。按照查找字符的起始位置分開文本字符串,或替換部分文本字符串等,也多用于處理其他信息。計數單位如果不是字符而是字節時,請使用findb函數。find函數和findb函數具有相同的功能,但它們的計數單位不同。 [2]
??使用 start_num 可跳過指定數目的字符。例如,假定使用文本字符串“AYF0093.YoungMensApparel”,如果要查找文本字符串中說明部分的第一個“Y”的編號,則可將 start_num 設置為 8,這樣就不會查找文本的序列號部分。FIND 將從第 8 個字符開始查找,而在下一個字符處即可找到 find_text,于是返回編號 9。FIND 總是從 within_text 的起始處返回字符編號,如果 start_num 大于 1,也會對跳過的字符進行計數。 [3]

  • 如果 find_text 是空文本 (),則 FIND 則會返回數值1。
  • Find_text 中不能包含通配符。
  • 如果within_text 中沒有 find_text,則 FIND返回錯誤值 #VALUE!。
  • 如果 start_num 不大于 0,則FIND返回錯誤值 #VALUE!。
  • 如果 start_num 大于 within_text 的長度,則 FIND 返回錯誤值#VALUE!。

------粘百度百科

示例

表格字段信息展示如下:

姓名手機型號精準匹配模糊匹配
張1三星Galaxy S21 Ultra#N/A
張2華為 MATE 9華為 MATE 9
張3華為 MATE Xs#N/A
張4華為 MATE 30 PRO華為 MATE 30 PRO
張5三星Note8#N/A
張6華為 MATE 30 PRO華為 MATE 30 PRO
張7iPhone 13 PRO Max#N/A
張8華為 P40華為 P40
張9華為 MATE 30 PRO華為 MATE 30 PRO
張10iPhone 7 Plus#N/A
張11華為 NOVA 2 Plus華為 NOVA 2 Plus
張12華為 NOVA 2s華為 NOVA 2s
張13華為 NOVA 4e華為 NOVA 4e
張14華為 P10 Plus華為 P10 Plus

??其中精準匹配的語句在上篇文章有詳細講解,這里用的數據也是上篇文章表格信息。

??現在要查看sheet1子表中B列手機型號與sheet3子表中A列手機型號模糊匹配結果:

  • 匹配的話,在sheet1子表中C列返回模糊匹配上的手機型號;
  • 不匹配的話,在sheet1子表中C列返回#N/A。

??這便使用到了LOOKUP函數和FIND函數,在D2單元格中寫==LOOKUP(1,0/FIND(Sheet3!A$1:A$15,B2),Sheet3!A$1:A$15)并按下回車鍵,對應文本便自動匹配,匹配后信息展示如下所示:

=LOOKUP(1,0/FIND(Sheet3!A$1:A$15,B2),Sheet3!A$1:A$15)
//其中Sheet3!A$1:A$15是對應要匹配查找的字符串,該字符串要升序排序
//其中B2是當前sheet1子表中要查找關鍵字的單元格

姓名手機型號精準匹配模糊匹配
張1三星Galaxy S21 Ultra#N/A#N/A
張2華為 MATE 9華為 MATE 9華為 MATE 9
張3華為 MATE Xs#N/A#N/A
張4華為 MATE 30 PRO華為 MATE 30 PRO華為 MATE 30 PRO
張5三星Note8#N/A#N/A
張6華為 MATE 30 PRO華為 MATE 30 PRO華為 MATE 30 PRO
張7iPhone 13 PRO Max#N/A#N/A
張8華為 P40華為 P40華為 P40
張9華為 MATE 30 PRO華為 MATE 30 PRO華為 MATE 30 PRO
張10iPhone 7 Plus#N/A#N/A
張11華為 NOVA 2 Plus華為 NOVA 2 Plus華為 NOVA 2
張12華為 NOVA 2s華為 NOVA 2s華為 NOVA 2
張13華為 NOVA 4e華為 NOVA 4e華為 NOVA 4
張14華為 P10 Plus華為 P10 Plus華為 P10

??由“精準匹配”和“模糊匹配”兩列對比可以看出,模糊查詢對比是返回大于自身值的上一個單元格中的字符串。
模糊查詢舉例:
??sheet3子表中部分展示順序如下圖所示:

??當前姓名為“張11”對應的手機型號為“華為 NOVA 2 Plus”。
1、“華為 NOVA 2 Plus”先與“華為 NOVA 2”比對,“華為 NOVA 2 Plus”比“華為 NOVA 2”大,繼續往下順序對比;
2、“華為 NOVA 2 Plus”和“華為 NOVA 2 PLUS”對比,“華為 NOVA 2 Plus”比“華為 NOVA 2 PLUS”小;
3、所以返回的是比自身值“華為 NOVA 2 Plus”大的“華為 NOVA 2 PLUS”上一個單元格中的字符串“華為 NOVA 2”。

sheet1和sheet3子表具體如下圖所示:

總結

以上是生活随笔為你收集整理的Excel中实现模糊查询-LOOKUP+FIND函数的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。