如何将多步Excel函数合并为单函数统计补考通过人数?
单函数统计初始未通过但后续通过的人数
最终整合公式(Excel 365/2021及以上适用)
无需中间列,直接用SUMPRODUCT或SUM一步完成统计:
=SUMPRODUCT(--(Table13[Passed]="FAILED"), --(XLOOKUP(Table13[Name], Table1[Name], Table1[Passed], "")="Passed"))
等价的SUM写法:
=SUM(--(Table13[Passed]="FAILED") * --(XLOOKUP(Table13[Name], Table1[Name], Table1[Passed], "")="Passed"))
公式逻辑拆解
--(Table13[Passed]="FAILED"):把初始表格中状态为"FAILED"的记录转为数值1,其余为0(--用于将布尔值TRUE/FALSE转换为1/0)--(XLOOKUP(Table13[Name], Table1[Name], Table1[Passed], "")="Passed"):用XLOOKUP匹配后续表格对应姓名的状态,判断是否为"Passed",同样转为1/0SUMPRODUCT会自动遍历两个数组,将对应位置的数值相乘后求和,最终得到同时满足初始未通过、后续通过的总人数
解决你遇到的核心问题
你之前合并后的公式返回的是布尔值TRUE/FALSE,但COUNTIF(区域, "=TRUE")是在匹配字符串"TRUE",而布尔值TRUE并非字符串,导致统计结果为0。通过--将布尔值转换为数值1/0后,就能直接用求和函数统计有效数量。
另一种可选写法(COUNTIFS数组形式)
如果习惯用COUNTIFS,可以用数组形式实现:
=SUM(COUNTIFS(Table1[Name], Table13[Name], Table1[Passed], "Passed", Table13[Passed], "FAILED"))
(Excel 365可直接输入,旧版本需按Ctrl+Shift+Enter完成数组输入)
内容的提问来源于stack exchange,提问作者Micah Ayers
相关产品推荐
相关产品推荐

