求提取A列重复值且B列属指定值的唯一结果的表格公式
解决方案
针对你的需求,这里提供两个可用的公式(适用于Google Sheets,若为Excel需调整函数),修正你原公式中的拼写错误与逻辑问题,同时满足「A列重复出现、B列匹配指定三个值、结果唯一」的要求:
方法一:用FILTER+UNIQUE实现(更直观)
在D1单元格输入以下公式,会自动填充D、E列的结果:
=UNIQUE(FILTER(A:B, COUNTIF(A:A, A:A)>1, OR(B:B="值1", B:B="值2", B:B="值3")))
公式说明:
COUNTIF(A:A, A:A)>1:筛选出A列中重复出现的记录(当前行的A值在整列出现次数大于1)OR(B:B="值1", B:B="值2", B:B="值3"):限定B列必须是你指定的三个值之一FILTER(A:B, ...):按上述两个条件筛选A、B列数据UNIQUE(...):对筛选结果去重,确保D、E列记录唯一
方法二:用QUERY+UNIQUE实现(符合你期望的Query形式)
同样在D1单元格输入:
=UNIQUE(QUERY(A:B, "SELECT A, B WHERE A IN (SELECT A FROM A:B GROUP BY A HAVING COUNT(A)>1) AND B IN ('值1', '值2', '值3')", 0))
公式说明:
- 子查询
SELECT A FROM A:B GROUP BY A HAVING COUNT(A)>1:先找出A列中重复出现的所有值 - 主查询
SELECT A, B WHERE A IN (...) AND B IN ('值1','值2','值3'):筛选原数据中A在重复值集合、且B在指定三个值里的记录 UNIQUE(...):对查询结果去重
注意事项:
- 将公式中的
值1、值2、值3替换为你实际需要的B列特定值(如果值包含空格或特殊字符,需保留单引号) - 若数据范围不是整列,可将
A:B、A:A改为具体的单元格范围(如A1:B100),提升计算效率
内容的提问来源于stack exchange,提问作者Tech REP
相关产品推荐
相关产品推荐

