2013-01-23 85 views
1

我曾嘗試在網絡上找到此解決方案,但尚未成功解決此特定問題。在Excel 2010我有在列A中的一些數據,其中每個值可以部分地包含在列B數據Excel:列C中未列出B列中的列值A

EX:
列A中可能包含「http://google.com/webmasters」
B列可能包含「google.com」
這應該給我一個匹配。

我想在C列打印在A列不列從B.包含任何值的所有值

EX:
列A

http://dir.mydomain.tdl 
http://myotherdomain.tdl 
http://blog.otherdomain.tdl 
http://www.lastdomain.tdl 

列B

mydomain.tdl 
lastdomain.tdl 

C欄(需要結果)

http://myotherdomain.tdl 
http://blog.otherdomain.tdl 

任何幫助將不勝感激。

+0

你只想得到一個完美的解決方案?您可以使用循環內的循環輕鬆地執行此操作。 – LostLin

回答

0

我想我有解決方案使用ARRAY公式。假設你的輸入和列AC有標題,或簡單地說,串列開始單元格A2和B2,請執行下列操作:

  1. C2:鍵入公式=IF(OR(NOT(ISERROR(SEARCH(INDIRECT("B2:B"&(COUNTA($B:$B))),$A2)))),"",$A2)但按CTRL + SHIFT + ENTER而不是通常的ENTER - 這將定義一個ARRAY公式,並且會導致圍繞它的{}括號(但不要手動輸入它們!)。
  2. C2中的自動填充公式,直到列的末尾列A,例如,如果最後一個值在A100中,則自動填充至C100(這裏B列無關緊要)。
  3. 然後,您可以複製&粘貼得到的結果爲並整理出空字符串。

在這裏你走!這裏的關鍵 - 我們檢查列A中的每個字符串,使B列中的字符串數組中至少有一個匹配,並在至少發現一個匹配的情況下返回空字符串。

爲了方便您的樣本文件共享:https://www.dropbox.com/s/janf0xxon4z2yh5/DomainsLookup.xlsx

+0

或者對於第3點,您可以將過濾器應用於C列並將其排除。 –

+0

嘿,這件事似乎已經奏效了我有一個非常大的數據集(A列近6k,B列170個),但據我所知,它確實做了我需要的感謝! –

+0

@RudyGarcia樂於助人)如果您遇到任何麻煩,請回來 - 我的解決方案完全基於您的輸入樣本數據模式。 –

0

也許不是必須的效率,但你可以簡單地使用兩個數組 - 一個用於A列,另一個用於列B.迭代ColumnA數組以查看它是否存在於ColumnB數組中(使用Array.IndexOf或.contains)。如果是這樣,您可以將其從ColumnA數組中移除,並將C列中剩餘的值作爲餘數輸出。

相關問題