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

如何修改Excel IF公式,统计所有含Yes列对应的颜色数量而非仅首个匹配

问题:多列选项累加统计颜色数量

需要在Excel中实现:根据多列的"Yes"选项,累加特定孩子对应的颜色总数。例如Marsha的行中,基础色和辅助色均勾选"Yes",需统计她可用颜色里这两组的总数量(应为5),但原嵌套IF公式仅返回第一个"Yes"对应的3个,无法实现多选项累加。

原公式问题

原嵌套IF为排他性分支判断,只要触发第一个满足条件的分支就会返回结果,不会继续检查后续列的"Yes"选项,因此无法实现多组数值的累加。
原公式:

=IF(C6="Selected Colors",IF(D6="Yes",COUNTIF(A2:A6,"Red")+COUNTIF(A2:A6,"Yellow")+COUNTIF(A2:A6,"Blue"),IF(E6="Yes",COUNTIF(A2:A6,"Orange")+COUNTIF(A2:A6,"Purple")+COUNTIF(A2:A6,"Green"),IF(F6="Yes",COUNTIF(A2:A6,"Black")+COUNTIF(A2:A6,"White")))))

简洁解决方案

利用Excel中布尔值转数值的特性(TRUE=1,FALSE=0),将每个选项组的数量乘以该组是否被选中的判断,再求和,实现多组累加。

基础版公式

=IF(C6="选定颜色",
  (D6="Yes")*(COUNTIF(A2:A6,"Red")+COUNTIF(A2:A6,"Yellow")+COUNTIF(A2:A6,"Blue")) +
  (E6="Yes")*(COUNTIF(A2:A6,"Orange")+COUNTIF(A2:A6,"Purple")+COUNTIF(A2:A6,"Green")) +
  (F6="Yes")*(COUNTIF(A2:A6,"Black")+COUNTIF(A2:A6,"White")),
  0)
  • 逻辑:每个(列="Yes")会返回1或0,仅当该组被选中时,才会将对应组的颜色数量加入总和,未选中的组贡献0。

优化版公式(更简洁)

用SUMPRODUCT+MATCH替代多个COUNTIF,减少重复代码:

=IF(C6="选定颜色",
  (D6="Yes")*SUMPRODUCT(--(ISNUMBER(MATCH(A2:A6,{"Red","Yellow","Blue"},0)))) +
  (E6="Yes")*SUMPRODUCT(--(ISNUMBER(MATCH(A2:A6,{"Orange","Purple","Green"},0)))) +
  (F6="Yes")*SUMPRODUCT(--(ISNUMBER(MATCH(A2:A6,{"Black","White"},0)))),
  0)
  • 逻辑:MATCH检查颜色是否在指定组的数组中,ISNUMBER将匹配结果转为布尔值,--将布尔值转为1/0,SUMPRODUCT统计符合条件的颜色数量。

适配单独工作表的颜色列表

如果颜色列表存于单独工作表(如颜色表),可将数组替换为单元格引用,例如基础色存于颜色表!A2:A4,则对应部分改为:

(D6="Yes")*SUMPRODUCT(--(ISNUMBER(MATCH(A2:A6,颜色表!A2:A4,0))))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 04:35:16