簡體   English   中英

如果查找值在單個單元格中包含多個值,則如何使用vlookup

[英]How to use vlookup if lookup value contains multiple values in single cell

假設Sheet1具有下表(數據范圍單元格A1到B4)

Fruits  | Colors
======= | =======
 Apple  | Red
 Mango  | Green
 Banana | Yellow

假設在sheet2中,Cell A1具有基於空格分隔的以下值(Apple Mango Banana)。

如何在單元格B2中使用VLookup基於A1值,可以按相同順序給出結果(紅綠黃)

Sheet2!B2中的這個公式可以做到:

=INDEX(sheet1!B:B,MATCH(TRIM(LEFT(SUBSTITUTE(A1, " ", REPT(" ", 100)),25)),sheet1!A:A,0)) & " " &
INDEX(sheet1!B:B,MATCH(TRIM(MID(SUBSTITUTE(A1," ",REPT(" ",100)),100,25)),sheet1!A:A,0)) & " " &
INDEX(sheet1!B:B,MATCH(TRIM(RIGHT(SUBSTITUTE(A1, " ", REPT(" ", 100)),25)),sheet1!A:A,0))

如果要匹配3個值,則此公式可以正常工作(如果只有2個值,則第二個將重復)。 處理任意數量的值可能更復雜。

當然,在VBA中使用Split函數可以更簡單,並且它會考慮任意數量的鍵,從而產生連接值。 您可以在宏中使用它:

Sheet2.Range("B1").value = Join(Application.index(Sheet1.Columns("B"), _
    Application.match(Split(Sheet2.Range("A1")), Sheet1.Columns("A"), 0)), " ")

當然你可以使用Range("B" & i)Range("A" & i)將它調整到B列中的任何單元格...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM