Google Sheets查询结果去重与跳过无关行问题求助
Google Sheets QUERY 公式修正:获取指定状态的唯一公司名称
原公式问题拆解
- 冗余条件:已经筛选
Status列是Customer或Referrals,后续排除其他状态的条件完全多余,因为这两个值不在排除列表中。 limit 1限制:强制只返回1条匹配结果,导致后续行要么重复该结果,要么留空,完全不符合“返回所有目标结果”的需求。
修正后的公式(两种可选方案)
方案1:QUERY + UNIQUE(保留QUERY逻辑)
=UNIQUE(QUERY(Contacts!A1:F15, "SELECT A WHERE LOWER(C) IN ('customer', 'referrals')", FALSE))
方案2:FILTER + UNIQUE(更直观的筛选逻辑)
=UNIQUE(FILTER(Contacts!A:A, (LOWER(Contacts!C:C) = "customer") + (LOWER(Contacts!C:C) = "referrals")))
公式说明
- 简化条件:用
IN(QUERY)或逻辑加法(FILTER)替代原有的多OR条件,代码更简洁易维护。 - 自动去重:
UNIQUE函数会自动剔除重复的公司名称,确保结果唯一。 - 无空行/重复填充:去掉
limit 1后,公式会返回所有符合条件的行,FILTER和QUERY都会自动跳过不符合条件的行,不会留下空白或重复内容。 - 容错性:原公式中
investigage的拼写错误不影响修正后的公式,因为我们直接锁定目标状态,无需排除其他值。
内容的提问来源于stack exchange,提问作者Nate Houle
相关产品推荐
相关产品推荐

