1

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

例如:
A 列可能包含“http://google.com/webmasters”
B 列可能包含“google.com”
这应该给我一个匹配项。

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

例如:
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

任何帮助将不胜感激。

4

2 回答 2

0

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

于 2013-01-23T16:27:06.003 回答
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

于 2013-01-23T17:22:13.387 回答