如何让Excel年度净利润计算公式随A列条目自动溢出?
自动溢出填充年度净利润计算公式
我有两个Excel工作表:
- 「All Project Net Profit」:行数据按年月日期横向溢出,净利润总计位于第13行,样本数据如下:
| 2017 | 2017 | 2017 | 2017 | 2017 | 2018 | 2018 | 2018 | 2018 | 2018 | 2018 | 2018 | 2018 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Aug-17 | Sep-17 | Oct-17 | Nov-17 | Dec-17 | Jan-18 | Feb-18 | Mar-18 | Apr-18 | May-18 | Jun-18 | Jul-18 | Aug-18 |
| -22596 | 77104 | 81604 | 81604 | 81604 | 81604 | 81604 | 81604 | 81604 | 81604 | 81604 | 81604 | 81604 |
- 「Yearly Net Profit」:B2单元格使用公式
=SUM((--TEXT('All Projects Net Profit'!$I$13#,"£0,00")*(1*A2=--'All Projects Net Profit'!$I$1#)))计算对应年度净利润,目前需手动向下复制公式,希望让公式根据A列条目数量自动溢出填充。该工作表样本数据如下:
| 年份 | 净利润 |
|---|---|
| 2017 | 299320 |
| 2018 | 979248 |
| 2019 | 943813 |
| 2020 | -206450 |
| 2021 | -763368 |
解决方案
可以通过BYROW函数结合动态区域实现自动溢出,将B2单元格的公式替换为以下内容:
=BYROW(A2:A6,LAMBDA(year,SUM((--TEXT('All Projects Net Profit'!$I$13#,"£0,00")*(1*year=--'All Projects Net Profit'!$I$1#)))))
如果需要自动识别A列所有非空年份(无需手动指定范围),可使用更灵活的版本:
=BYROW(FILTER(A:A,A:A<>""),LAMBDA(year,SUM((--TEXT('All Projects Net Profit'!$I$13#,"£0,00")*(1*year=--'All Projects Net Profit'!$I$1#)))))
说明
BYROW函数会遍历指定区域的每一行,对每个年份执行原有的求和逻辑FILTER(A:A,A:A<>"")会自动筛选出A列所有非空的年份单元格,实现完全动态的范围匹配
内容的提问来源于stack exchange,提问作者Automation Monkey
相关产品推荐
相关产品推荐

