使用通配符,不需要這么復雜的公式 =VLOOKUP("*"&A2&"*",全稱!A:A,1,0) 發你的表 Mrpinetree@qq.com
在使用Excel表格辦公的時候,如果能以簡稱或關鍵字匹配查找全稱,將會節省你很多的時間,使你辦公更方便。下面就來教給大家如何用簡稱或關鍵字模糊匹配查找全稱的方法。
材料/工具
Excel
方法
首先,打開你的Excel。
1、打開需要查找的數據表,我們需要查找名字中帶“五”字員工的工號。點擊鼠標左鍵選中單元格G2。 2、點擊左上角的“fx”插入函數 3、在彈出的窗口中,選擇“VLOOKUP”函數,點擊“確定” 4、在vlookup函數的設置中,參考值處用“*五*”表示含五的名字(*
B1、B2、B3為公司全稱,D1為公司簡稱.(注:這些公司均為虛構的公司,并不存在)
F2公式 =IFERROR(INDEX(D:D,IFERROR(MATCH(B2,D:D,0),IFERROR(MATCH(LEFT(B2,LEN(B2)-1),D:D,0),LOOKUP(1,0/ISNUMBER(FIND(LEFT(B2,LEN(B2)-1),D:D)),ROW(D:D))))),"無匹配") 按你的數據看,進行三次匹配 1、按B列全稱在D列精確查找,如果有,則
選中E1單元格,在公式工具欄中點擊“插入函數”。
按照你的圖, B3 公式: 數量: =index(C:C,match($A3&"*",$E:$E,0)) 產地: =index(D:D,match($A3&"*",$E:$E,0))
在打開的框框內查找“LOOKUP”函數,并選中LOOKUP函數。
截圖請截出行號和列標,以方便描述和書寫公式。 在E2單元格輸入以下公式,然后向下填充公式 =LOOKUP(1,0/FIND(A$2:A$8&"",D2),B$2:B$8) 詳見附圖示例 A列部分簡稱重復,不能歸結為完全意義的簡稱。
輸入和圖上一樣的公式,計算結果為全稱,點擊確定即可。(LOOKUP函數是從單行或單列或數組中查找一個值)
一般這種情況,先要建立一個客戶清洗的目錄表。否則有的是在前面,有的是在中間,很難用一個公式來查詢的。
擴展閱讀,以下內容您可能還感興趣。
excel匹配包含簡稱并返回簡稱,要用什么函數?
權當原數據在A2:B100區域內
C2輸入公式
=LOOKUP(1,0/FIND(A$2:A$100,B2),A$2:A$100)
下拉
如何在EXCEL里用函數,將公司簡稱查找出公司詳細的名字?
使用VLOOKUP函數公式即可。
具體方法:
在Sheet1的B1單元格,輸入百公式
=VLOOKUP("*"&A1&"*",Sheet2!A:A,1,0)
公式往下拉自度動填充
(或者復制B1單元格,到下方的單元格),即可
公式解內釋:
"*"&A1&"*",表示包含單元格A1內容的文本。
Sheet2!A:A,表示Sheet2中的A列。
然后使用VLOOKUP函數,查找Sheet2中的A列,
滿足條件的容文本,然后返回此列的值。
excel表中在固定單元格B1錄入模糊字(或簡稱)就能在下拉菜單里自動搜索顯示出數據源表中相對應的全稱。
這個問題可以用INDEX函數和SMALL函數再加上數組公式,做出一個動態的數據序列,再通過數據有效性將序列值傳遞給下拉菜單。這樣就可以實現模糊搜索了。可惜傳不上樣例。這個思路供你參考。
excel表中在固定單元格B1錄入模糊字(或簡稱)就能在下拉菜單里自動搜索顯示出數據源表中相對應的全稱。
因你是在同一個單元格中輸入并得到其下拉列表,所以用VBA可以解決更多追問追答追問能具體點嗎?謝謝,我就是看到有些進銷存軟件里面在錄進貨或者銷售時只輸入商品名稱的一部分,就會有提示包含所輸入字符的所有商品名稱供選擇,所以才想到問這個的追答Private Sub Worksheet_Change(ByVal Target As Range)
Dim Str1$
If Target.Address = "$D$2" Then
Str1 = Target.Value
If Len(Str1) = 1 Then
Target.Validation.Delete
Target.Select
Else
Target.Offset(1).Select
End If
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim arr, x&, i&, Str1$, brr()
If Target.Address = "$D$2" Then
Target.Validation.Delete
Str1 = Target.Value
If Len(Str1) = 1 Then
arr = Range("A2:A8")
For x = 1 To UBound(arr)
If arr(x, 1) Like Str1 & "*" Then
i = i + 1
ReDim Preserve brr(1 To i)
brr(i) = arr(x, 1)
End If
Next x
If i > 0 Then
With Target.Validation
.Delete
.Add Type:=xlValidateList, Formula1:=Join(brr, ",")
End With
End If
End If
End If
End Sub
單元格事件完成追問是新建一個宏,然后把代碼復制進去嗎?我剛才試了一下怎么不行啊,大哥!!!再具體點好嗎?我是菜鳥級別滴追答不是新建個宏。在編輯器中雙點對應工作表,把上述代碼粘貼到右邊的編輯欄中即可
Excel匹配字符 返回一個簡稱
在C2單元格輸入以下公式,然后向下填充公式
=IFERROR(LOOKUP(1,0/FIND(A$2:A$8,B2),A$2:A$8),"")
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com