公众号平台最新的推送规则对技术类文章不太友善,如果不想错过干货,请务必 “设为星标”哦!!!
点击上方蓝字 --> 点击“...”--> 选择“设为星标”
给读者答疑解惑,有一个一对多的数据表,是否可以用一个公式查找出符合多个条件的总数?
请注意,这里要求的是用一个公式完成,而不是分别按条件统计数量,再求和。
案例:
下图 1 中左侧的数据表中,每个人可能有数量不等的电话号码,请根据 D 列列出的姓名,计算出有关人员的所有电话号码数量。
效果如下图 2 所示。
解决方案 1:sum+countif
1. 在 E2 单元格中输入以下公式:
=SUM(COUNTIF(A:A,{"王钢蛋","龙淑芬"}))
公式释义:
COUNTIF(A:A,{"王钢蛋","龙淑芬"}):分别统计 A 列中的“王钢蛋”和“龙淑芬”的数量,得到一个数组;
如果选中这段公式,按 F9,就能清楚看到计算结果;
SUM(...):将上述数组中的所有元素求和
解决方案 2:sum+countifs
1. 在 E3 单元格中输入以下公式 --> 按 Ctrl+Shift+Enter 结束:
=SUM(COUNTIFS(A:A,D1:D2))
公式释义:
与前一个公式略有不同的是,此处用 countifs 替换了 countif,从而第二个参数也可以使用区域;
只要按三键结束,生成数组公式,也一样能得出结果。
解决方案 3:sumproduct
1. 在 E4 单元格中输入以下公式:
=SUMPRODUCT((A:A={"王钢蛋","龙淑芬"})*1)
公式释义:
这个就更简单了,只要一个函数,而且也不需要按三键;
原理就是将 A 列中的每个单元格分别与两个姓名比对,结果为 true 或 false 组成的数组;
将数组结果 *1,从而将逻辑值转换为数值;
最后用 sumproduct 对所有值求和。
转发、点赞、在看也是爱!