You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Sheets的COUNTUNIQUEIFS函数中使用OR逻辑?

解决Google Sheets中多条件唯一值统计问题

问题核心

你之前用多个COUNTUNIQUEIFS相加的方式存在隐患:如果某个A列值同时对应C列的多个目标值(比如同一A值既有apple又有banana记录),会被重复计入总数,结果不准确。而直接用OR{"apple",...}的写法失效,是因为COUNTUNIQUEIFS不支持这种数组形式的OR条件,OR函数在这里只会返回单个布尔值,无法逐行匹配C列内容。

两种正确的简化方案

方案1:FILTER+COUNTUNIQUE组合(逻辑直观,推荐)

公式:

=COUNTUNIQUE(FILTER(A2:A, B2:B>0, ISNUMBER(MATCH(C2:C, {"apple","banana","orange","lemon"}, 0))))

逻辑说明:

  • MATCH(C2:C, {"apple",...}, 0):检查C列每个值是否在目标列表中,匹配成功返回位置,失败返回错误值
  • ISNUMBER(...):将匹配结果转为布尔值(匹配成功为TRUE,失败为FALSE)
  • FILTER:筛选出B列数值>0且C列值在目标列表内的A列数据
  • COUNTUNIQUE:统计筛选结果中的唯一值数量

方案2:COUNTUNIQUEIFS配合REGEXMATCH

公式:

=COUNTUNIQUEIFS(A2:A, B2:B, ">0", C2:C, "REGEXMATCH(@, 'apple|banana|orange|lemon')")

逻辑说明:

  • 利用COUNTUNIQUEIFS支持的自定义条件语法,@代表当前行的C列值,用正则表达式的|实现多值OR匹配
  • 直接在COUNTUNIQUEIFS的C列条件中完成多值校验,一步统计符合所有要求的A列唯一值

内容的提问来源于stack exchange,提问作者黃子華

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 08:59:55