Excel中如何匹配指定部门并对该行当日至月末的日期列数据求和
Excel指定部门当日至月底数值求和实现方法
适配全版本Excel的修正SUMPRODUCT方案
你原先的SUMPRODUCT逻辑本身没问题,大概率是引用没锁或者日期格式异常导致失效,修正后公式如下(假设你把要查询的部门输入在M1单元格):
=SUMPRODUCT(($B$1:$K$1>=TODAY())*($B$1:$K$1<=EOMONTH(TODAY(),0))*($A$2:$A$5=M1)*$B$2:$K$5)
注意事项:
- B1:K1必须是标准日期格式,可通过公式
=ISNUMBER(B1)验证,返回TRUE即为合法日期 - 公式里的
$是绝对引用符,确保公式拖拽复制时查询范围不会偏移 - 如果不需要复用公式,可以去掉所有
$,公式依然可以正常计算
Excel 365/2021及以上版本简化方案
用FILTER嵌套实现逻辑更清晰的写法:
=SUM(FILTER(FILTER(B2:K5,A2:A5=M1),B1:K1>=TODAY()))
因为你的表格本身覆盖当月完整日期,所以不需要额外加月底判断,若要兼容跨月场景也可以补全条件:
=SUM(FILTER(FILTER(B2:K5,A2:A5=M1),(B1:K1>=TODAY())*(B1:K1<=EOMONTH(TODAY(),0))))
常见问题排查
- 返回#N/A:检查输入的部门名称和A列的部门是否完全匹配,有无多余空格、大小写差异
- 返回0:检查B1:K1是否为文本型日期,或者B2:K5的数值是文本格式
- 数值计算错误:确认数据范围是否和实际表格一致,比如你的部门行如果不止到第5行,要把公式里的A5、K5改成对应实际行数
内容的提问来源于stack exchange,提问作者Trae
相关产品推荐
相关产品推荐

