Google Sheets按日期规则求和列:基于起始日期及频率倍数
Google Sheets 周期性收支自动求和方案
针对现金流规划表的需求,以下是直接可用的公式方案,实现B列自动计算对应日期(A列)的所有周期性/一次性收支总和:
单单元格公式(手动下拉)
在B2单元格输入公式,下拉填充至所有需要计算的行:
=SUMPRODUCT($C$2:$C, --((A2 - $D$2:$D) >= 0), --(MOD(A2 - $D$2:$D, $E$2:$E) = 0))
整列自动填充公式(推荐)
无需手动下拉,B列将随A列日期自动计算(需Google Sheets支持Lambda函数):
=ARRAYFORMULA(MAP(A2:A, LAMBDA(current_date, IF(current_date="", "", SUMPRODUCT($C$2:$C, --((current_date - $D$2:$D)>=0), --(MOD(current_date - $D$2:$D, $E$2:$E)=0))))))
公式逻辑说明
$C$2:$C:指定要求和的金额列范围(current_date - $D$2:$D) >= 0:过滤掉当前日期早于起始日期的记录,避免提前计算未到账收支MOD(current_date - $D$2:$D, $E$2:$E) = 0:判断当前日期与起始日期的天数差是否为间隔天数的整数倍,精准匹配周期性收支--:将布尔值(TRUE/FALSE)转换为1/0,让SUMPRODUCT能正确累加符合条件的金额
一次性收支设置
若需添加仅在指定日期发生的一次性收支,只需将对应行的E列(间隔天数)设为0或留空,公式会自动匹配起始日期等于当前A列日期的记录。
内容的提问来源于stack exchange,提问作者Christopher Allan
相关产品推荐
相关产品推荐

