Excel:列C中列B中未找到的打印值

时间:2013-01-23 16:19:37

标签: excel excel-2010

我已尝试在网络上找到此解决方案但未成功解决此特定问题。在Excel 2010中,我在A列中有一些数据,其中每个值可能部分包含B列中的数据。

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

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

也许不是必须有效但你可以简单地使用两个数组 - 一个用于A列,一个用于B列。迭代ColumnA数组以查看它是否存在于ColumnB数组中(使用Array.IndexOf或.contains)。如果是,您可以将其从ColumnA数组中删除,并将C列中的剩余值作为余数输出。

答案 1 :(得分:0)

我认为我有使用 ARRAY 公式的解决方案。假设您的输入和列A-C具有标题,或者只是,字符串列在起始单元格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. 然后你可以复制&将获得的结果粘贴为并整理出空字符串。
  4. 你走了!这里的关键 - 我们检查A列中的每个字符串是否在B列中的字符串数组中至少有一个匹配,如果找到至少一个匹配则返回空字符串。

    为方便起见,我们共享了样本文件:https://www.dropbox.com/s/janf0xxon4z2yh5/DomainsLookup.xlsx