替代带日期范围及多条件SUMIFS的ARRAYFORMULA实现方案
用ARRAYFORMULA自动计算指定日期范围的账户Dr/Cr总和
需求说明
H列、I列原本通过SUMIFS公式计算指定日期范围内各Account对应的Dr、Cr总和,现在需要替换成ARRAYFORMULA,实现G列新增账户(比如"Account 4")时自动完成总计计算,无需手动复制公式。
分步公式实现
1. 单独计算Dr总和(H列)
在H2单元格输入以下公式,会自动填充所有G列非空行的Dr总计:
=ARRAYFORMULA(IF(G2:G="", "", SUMIFS(数据源!C:C, 数据源!B:B, G2:G, 数据源!A:A, ">="&$E$1, 数据源!A:A, "<="&$F$1)))
2. 单独计算Cr总和(I列)
在I2单元格输入以下公式:
=ARRAYFORMULA(IF(G2:G="", "", SUMIFS(数据源!D:D, 数据源!B:B, G2:G, 数据源!A:A, ">="&$E$1, 数据源!A:A, "<="&$F$1)))
一键填充两列的合并公式
如果想一次性处理H、I列,在H2输入这个公式即可,会自动同时生成Dr和Cr的总计:
=ARRAYFORMULA(IF(G2:G="", {"", ""}, {SUMIFS(数据源!C:C, 数据源!B:B, G2:G, 数据源!A:A, ">="&$E$1, 数据源!A:A, "<="&$F$1), SUMIFS(数据源!D:D, 数据源!B:B, G2:G, 数据源!A:A, ">="&$E$1, 数据源!A:A, "<="&$F$1)}))
参数说明
- 替换公式里的
数据源!C:C/数据源!D:D为你实际存储Dr、Cr数据的列 数据源!B:B替换为实际的Account列,数据源!A:A替换为日期列$E$1和$F$1替换为你指定日期范围的起止单元格(根据表格实际位置调整)IF(G2:G="", "", ...)的作用是避免G列空行显示无效的0值
内容的提问来源于stack exchange,提问作者tedioustortoise
相关产品推荐
相关产品推荐

