Excel如何用OFFSET函数实现多同期群跨周期总利润单公式计算?
Excel同期群总利润单公式解决方案
适配所有Excel版本的通用公式
这个方案不需要添加任何辅助行/列,也不需要为每个同期群单独配置计算项,直接下拉/右拉即可批量计算所有年份的总利润。
先明确你给出的场景下的默认坐标,你可以根据自己的实际表结构调整参数:
- 各年新增微件数量存放在B列,从B4开始依次为Y1、Y2、Y3...的发行量
- 单位周期利润存放在第3行,从C3开始依次为P1、P2、P3...的单位利润
- 年总利润结果放在第4行,C4对应第1年利润、D4对应第2年利润,以此类推
在C4单元格输入以下公式,直接向右拖动填充即可得到所有年份的总利润:
=SUMPRODUCT($B$4:INDEX($B:$B,ROW($B$4)+COLUMN(A1)-1),SUBTOTAL(9,OFFSET($C$3,,COLUMN(A1)-ROW(INDIRECT("1:"&COLUMN(A1))),)))
Excel 365/2021 简化动态版
如果你的Excel版本支持动态数组函数,只需要输入一次公式,就会自动溢出所有年份的计算结果,新增同期群或周期时无需调整公式:
=BYCOL(SEQUENCE(,COUNTA(C3:XFD3)),LAMBDA(k,SUMPRODUCT(TAKE(B:B,k),SORTBY(TAKE(3:3,k),SEQUENCE(k),-1))))
计算逻辑说明
公式的核心逻辑完全匹配你给出的计算规则:
计算第N年总利润时,自动取前N个同期群的发行量,和前N个周期的单位利润倒序对应相乘求和,刚好满足「第Y年发行的同期群,在第N年贡献P(N-Y+1)单位利润」的计算要求,可支持任意多周期、多同期群的扩展场景。
内容的提问来源于stack exchange,提问作者CSMaxwell
相关产品推荐
相关产品推荐

