19

我有一个 Excel 工作表,其中包含两列(名称/ID),然后是另一个列表,它是上述较大列表中名称的子集。我想浏览子集列表,然后从较大的列表(名称/ID)中提取数据并将其放在其他地方......如果名称在子集上,基本上只从较大的列表中获取数据。

我尝试使用过滤器,但无法正常工作。想法?

谢谢。

4

4 回答 4

28

新的 Excel 版本

=IF(ISNA(VLOOKUP(A1,B,B,1,FALSE)),"",A1)

较旧的 Excel 版本

=IF(ISNA(VLOOKUP(A1;B:B;1;FALSE));"";A1)

即:“如果B列中存在A1的值,则在此处显示。如果不存在,则留空。”

于 2009-06-19T14:57:23.563 回答
12

我无法让第一种方法起作用,我知道这是一个老话题,但这是我最终为解决方案所做的:

=IF(ISNA(MATCH(A1,B:B,0)),"Not Matched", A1)

基本上,将 A1 与 B 列完全匹配(0 代表与 B 列中的值完全匹配)。ISNA 测试#N/A 响应,如果未找到匹配项,将返回匹配项。最后,如果 ISNA 为真,则将“不匹配”写入所选单元格,否则写入匹配单元格的内容。

于 2011-04-20T21:30:32.177 回答
2

您是否尝试过高级过滤器?使用您的短列表作为“标准”,使用长列表作为“列表范围”。使用选项:“就地过滤”和“唯一值”。

您应该看到仅出现在您的短列表中的唯一值列表。

或者,如果您愿意,您可以将唯一列表粘贴到另一个位置(在同一张纸上)。选择“复制到另一个位置”选项,然后在“复制到”框中输入您想要唯一列表的单元格引用(例如 F1)。

注意:这也适用于两列(名称/ID),如果您选择两列作为“标准”和“列表范围”。

于 2009-06-20T18:01:38.047 回答
1

和其他人一样,我一直在为此烦恼。

我使用了标准;

=countif(matchingList,C2)=0

其中matchingList 是我用作过滤器的列表。

看看这个

http://www.youtube.com/watch?v=x47VFMhRLnM&list=PL63A7644FE57C97F4&index=30

我发现的诀窍是,通常您会在标准中使用与数据列标题匹配的列标题。这不适用于作为公式的标准。

我发现如果我将列标题留空,则仅适用countif于高级过滤器中具有公式的条件。如果我有列标题,即公式示例中列 C2 的列标题,则过滤器不返回任何输出。

希望这可以帮助

于 2013-09-26T01:49:07.167 回答