Excel多工作表下COUNTIF/COUNTIFS多条件计数公式求助
问题描述
需要使用Excel的COUNTIF系列函数完成以下统计需求:
- 匹配指定任务值(对应
Master_Sheet!$F:$F列,变量iden为目标任务值) - 分两种统计规则:
- 当状态列(假设为
Master_Sheet!$C:$C)包含文本Completed时,统计完成日期列(Master_Sheet!$M:$M)在指定区间(H1为起始日期,H2为结束日期)内的任务数量 - 当状态列不包含
Completed时,统计对应行中D列(假设为Master_Sheet!$D:$D)标记为已完成的任务数量
- 当状态列(假设为
当前尝试的公式仅处理了部分条件,无法实现完整需求:
=COUNTIFS(Master_Sheet!$F:$F, iden, Master_Sheet!$M:$M, ">="&H1, Master_Sheet!$M:$M, "<="&H2)
参数说明:
Master_Sheet!$F:$F:任务列表列iden:目标任务值Master_Sheet!$M:$M:完成日期列H1、H2:日期区间的上下限
解决方案
由于需求包含两个分支条件,需用COUNTIFS分别统计两种情况后求和,公式如下(若你的状态列、D列在Master_Sheet中是其他列标,请自行替换):
=COUNTIFS(Master_Sheet!$F:$F, iden, Master_Sheet!$C:$C, "*Completed*", Master_Sheet!$M:$M, ">="&H1, Master_Sheet!$M:$M, "<="&H2) + COUNTIFS(Master_Sheet!$F:$F, iden, Master_Sheet!$C:$C, "<>*Completed*", Master_Sheet!$D:$D, "已完成")
公式细节说明:
第一部分
COUNTIFS处理状态含Completed且日期在区间内的任务:Master_Sheet!$C:$C, "*Completed*":匹配状态列包含Completed的行(*为通配符,若需精确匹配则去掉*)- 同时满足任务匹配、日期落在
H1-H2区间
第二部分
COUNTIFS处理状态不含Completed且D列标记已完成的任务:Master_Sheet!$C:$C, "<>*Completed*":匹配状态列不包含Completed的行Master_Sheet!$D:$D, "已完成":匹配D列标记为已完成的行(若D列用数字1表示已完成,将"已完成"改为1即可)
用
+合并两部分结果,得到总统计数
优化提示:
- 避免使用整列引用(如
$F:$F),改为实际数据范围(如$F$2:$F$1000)可提升计算效率 - 根据实际数据的匹配规则调整通配符或精确匹配条件
内容的提问来源于stack exchange,提问作者Bonaventure dSouza
相关产品推荐
相关产品推荐

