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

如何用Excel函数创建布尔向量并实现特定SUMPRODUCT统计?

统计唯一ID且F列符合指定值的行数(无辅助列解法)

直接使用以下公式即可实现需求:

=SUMPRODUCT(N(COUNTIF(Data!$D:$D,Data!$D:$D)=1)*N(ISNUMBER(MATCH(Data!$F:$F,{"A01","A02"},0))))

公式拆解说明:

  • COUNTIF(Data!$D:$D,Data!$D:$D)=1:生成布尔数组,每个元素对应D列的行,TRUE表示该行ID在D列中唯一(仅出现1次),FALSE表示重复。
  • ISNUMBER(MATCH(Data!$F:$F,{"A01","A02"},0)):生成布尔数组,标记F列每行的值是否属于{"A01","A02"}中的任意一个,匹配成功返回TRUE,失败返回FALSE。
  • N(...):将布尔值转换为数值(TRUE转1,FALSE转0),通过乘法实现“同时满足两个条件”的逻辑(仅当两个条件都为1时,乘积才为1)。
  • SUMPRODUCT:对所有乘积结果求和,最终得到同时满足「D列ID唯一」和「F列值为A01/A02」的总行数。

原尝试的问题说明:

你之前用的IF(Data!$F:$F={"A01","A02"},TRUE,FALSE)写法存在数组维度匹配问题——Excel中这种横向数组对比会按行逐一匹配,导致只有部分行能正确判断,无法实现“每个F列值是否在指定列表中”的需求,因此改用MATCH+ISNUMBER的组合更可靠。

内容的提问来源于stack exchange,提问作者Romane

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 06:03:10