2017-06-29 289 views
0

我有一個標題列表(A)和短語列表(B)。對於AI每個標題要檢查它是否包含一個短語(詞組的任何,我不關心它)從B.Excel:找出單元格是否包含/包含單元格範圍內的值

| 1 |-----Example Column A------|----Example Column B----   
| 2 | Head of Marketing  | Senior Developer   
| 3 | Lead Product Engineer | Marketing Manager  
| 4 |  Sales Development  | Sales Development 
| 5 | Senior Marketing Manager |  

在上面的例子,我想知道的是,最後兩個單元在列A包含列B中的單元格。

我在網上找到了很多關於如何做相反的例子,用*來查找某個值是否包含在一個範圍內。我還發現以下三個例子可以解決類似於我的問題,但是沒有一個適合我。

{=MAX(ISNUMBER(SEARCH($B$2:$B$4,A2))+0)}   
{=MATCH(A2,$B$2:$B$4&"*")} 
=IFERROR(LOOKUP(2^15,SEARCH(B:B,A2),B:B),"") 

我也試着寫的每個單元格的內容在B柱開始,並用星號(*高級開發人員*等)結束,試圖VLOOKUP,SUMPRODUCT,COUNTIF沒有成功。

是否有可能做我想要的東西?

稍加修改Mrig公式:

=SUMPRODUCT(ISNUMBER(FIND(B$2:B$4,LOWER(A2)))*1) 

回答

0

試試這個

=SUMPRODUCT(ISNUMBER(FIND($B$2:$B$4,$A2))*1) 

該公式將返回匹配短語的數量。

如果你不想計數,你可以把這個公式放在IF

=IF(SUMPRODUCT(ISNUMBER(FIND($B$2:$B$4,$A2))*1)>0,"Exist","Does Not Exist") 

參考

enter image description here

見圖像

編輯:降序排列輸出我得到的排序Column A之後是:

enter image description here

+0

感謝Mrig的幫助,它似乎找到了一些比賽。 當我重新創建您的示例時,它會給出正確的答案。但是,當我按降序對列A進行排序時,C列將返回2,2,1,1。 我的現實世界專欄A是60k值,大多數應該有一個匹配,但只有80-2k根據順序找到匹配。 – baasoti

+0

@baasoti - 請參閱我的答案中的編輯。這是我對「列A」進行排序後得到的輸出。是否可以共享樣本/虛擬數據,以便我可以重新創建您的問題。 – Mrig

+1

謝謝你回到我身邊 - 想出了爲什麼它沒有奏效。 我的排序問題出現了,因爲我還對列B(包括一個空白單元格)進行了排序,因此它爲列A中的每個單元格添加了1個。 而且它沒有找到我的主要數據的所有匹配的原因是因爲它包含大寫,並且匹配似乎區分大小寫。 我已經更新公式爲:= SUMPRODUCT(ISNUMBER(找到(Q $ 2:Q $ 343,LOWER(F2)))* 1) 它現在匹配40k(到目前爲止我檢查過的一切都有意義)。非常感謝你的幫助,真的是在用這個抓我的頭! – baasoti

0

將下面的公式中欄下,在柱A的每一行(在C2開始)

=IF(ISNA(INDEX(B$2:B$4,MATCH(A2,B$2:B$4,0))),"","x")

這是一個組合INDEXMATCH的樂趣ctions。 INDEX返回基於計數的範圍內的單元格,在這種情況下,該單元格由MATCH函數提供,該函數通過匹配條件字符串來返回數組內單元格的位置。

ISNA函數用於在任何不匹配的單元格中隱藏「N/A」輸出,並針對任何匹配單元格顯示「x」。

查看here以獲得更深入的解釋。

UPDATE

按照下面的評論,以查看是否柱A 包含在色柱B的文本(而不是直接匹配),然後使用此公式中COL下每行:

=IF(SUMPRODUCT(COUNTIF(A2,"*" & B$2:B$4 & "*"))>0, "X", "")

+0

感謝您的評論 - 不幸的是,當它恰好等於列B中的一個值時,它似乎只在A列標記'x'。 – baasoti

+0

啊是的。我誤解了你詢問的內容。查看答案的更新。這也是不區分大小寫的。 – garyh

相關問題