Excel - 根据另一个列表提取数据

时间:2009-06-19 14:41:05

标签: excel extract

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

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

感谢。

4 个答案:

答案 0 :(得分:27)

新的Excel版本

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

较旧的Excel版本

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

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

答案 1 :(得分:12)

我无法获得第一种方法,我知道这是一个老话题,但这是我最终为解决方案做的事情:

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

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

答案 2 :(得分:2)

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

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

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

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

答案 3 :(得分:1)

我一直在跟其他人一样。

我使用了标准;

=countif(matchingList,C2)=0

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

看看这个

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

我发现的技巧是,通常你会在符合数据列标题的条件中使用列标题。这不适用于公式的标准。

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

希望这有帮助