【发布时间】:2023-04-09 23:59:01
【问题描述】:
我有一个 Excel 工作表,其中包含两列(名称/ID),然后是另一个列表,它是上述较大列表中名称的子集。我想遍历子集列表,然后从较大的列表(名称/ID)中提取数据并将其放在其他地方......基本上只有在名称在子集上时才从较大的列表中获取数据。
我尝试使用过滤器,但无法正常工作。想法?
谢谢。
【问题讨论】:
我有一个 Excel 工作表,其中包含两列(名称/ID),然后是另一个列表,它是上述较大列表中名称的子集。我想遍历子集列表,然后从较大的列表(名称/ID)中提取数据并将其放在其他地方......基本上只有在名称在子集上时才从较大的列表中获取数据。
我尝试使用过滤器,但无法正常工作。想法?
谢谢。
【问题讨论】:
新的 Excel 版本
=IF(ISNA(VLOOKUP(A1,B,B,1,FALSE)),"",A1)
旧版 Excel
=IF(ISNA(VLOOKUP(A1;B:B;1;FALSE));"";A1)
即:“如果B列中存在A1的值,则在此处显示。如果不存在,则留空。”
【讨论】:
;,因为, 是小数点分隔符。
我和其他人一样一直在为此烦恼。
我使用了标准;
=countif(matchingList,C2)=0
matchingList 是我用作过滤器的列表。
看看这个
http://www.youtube.com/watch?v=x47VFMhRLnM&list=PL63A7644FE57C97F4&index=30
我发现的窍门是,通常条件中的列标题与数据列标题匹配。这不适用于作为公式的标准。
我发现如果我将列标题留空,则只有在高级过滤器中具有countif 公式的条件才有效。如果我有列标题,即公式示例中列 C2 的列标题,则过滤器不返回任何输出。
希望对你有帮助
【讨论】:
我无法让第一种方法起作用,我知道这是一个老话题,但这是我最终为解决方案所做的:
=IF(ISNA(MATCH(A1,B:B,0)),"Not Matched", A1)
基本上,将 A1 与 B 列完全匹配(0 代表与 B 列中的值完全匹配)。 ISNA 测试#N/A 响应,如果未找到匹配项,将返回匹配项。最后,如果 ISNA 为真,则将“不匹配”写入所选单元格,否则写入匹配单元格的内容。
【讨论】:
您是否尝试过高级过滤器?使用您的短列表作为“标准”,使用长列表作为“列表范围”。使用选项:“就地过滤”和“唯一值”。
您应该看到仅出现在您的短列表中的唯一值列表。
或者,如果您愿意,您可以将唯一身份列表粘贴到其他位置(在同一张纸上)。选择“复制到另一个位置”选项,然后在“复制到”框中输入您想要唯一列表的单元格引用(例如 F1)。
注意:这也适用于两列(名称/ID),如果您选择这两列作为“条件”和“列表范围”。
【讨论】: