2015-06-12 128 views
1

的文本我需要執行查找並根據文本是否包含它返回值。Excel:查找包含

請看我下面的excel表格,我需要的是一個公式,它將幫助我的'Category'列填充查找表的'Category'列。

注意:請在下面的鏈接中看到我的Excel表單。

data provided by user

我試過公式「=VLOOKUP(B2,A13:B16,2,TRUE)」,但沒有給出預期的結果。

+0

謝謝拜倫!我已經分享了圖片鏈接。請讓我知道,如果有幫助。 –

+0

在你的例子中,「B2:B7」中的值是你需要查看的唯一值還有其他值嗎? –

+0

B2:B7只是一個示例。實際值要多得多,將來會增加更多。 –

回答

1

這是對正常的「在其他列表中查找此字符串」的輕微扭曲。它需要使用FIND來搜索匹配的數組公式。在細胞A2範圍

ranges and results

圖片是陣列式和被複制下來的每個項目(與CTRL + SHIFT + ENTER輸入)。它在lookup列表中搜索包含在item中的項目,並返回與lookup關聯的category的結果。

=INDEX($E$2:$E$4,MIN(IF(IFERROR(FIND($D$2:$D$4,B2)>0,FALSE),ROW($D$2:$D$4)))-ROW($E$1)) 

它是如何工作

  • INDEXcategory返回,需要一個行號返回
  • 行數量確定通過使用FIND這將檢查是否字符串包含在另一串的一部分。在這種情況下,要搜索的字符串是lookup表,並且我們在item內匹配。
  • FIND如果沒有找到匹配將返回#VALUE!,這被轉換爲FALSEIFERROR因爲#VALUE!將與MIN沒有工作以後。
  • IF將返回ROW號碼或FALSE找到的匹配項。
  • MIN用於將ROW號碼列表轉換爲最小號碼。這意味着多個匹配不會被處理。
  • ROW數字然後用作INDEX的回報。這裏應用的偏移量爲-ROW(E1),它允許數據表在其他行1:1中開始。
+0

感謝您的時間拜倫先生!它幫助我:) –