You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用单个Excel函数自动填充多工作表项目净利润数据行

问题概述
  • 存在「All Projects Net Profit」工作表,用于存储持续新增的项目数据集
  • 每个项目对应一张以「Project Name」命名的独立工作表,负责计算该项目的成本及整体净利润
  • 当前在「All Projects Net Profit」的K列使用公式提取各项目月度净利润,支持两种规则:
    • 根据E列的项目终止日期提前终止统计
    • 当F列设为"Yes"时完全排除该项目,且不改动源数据
  • 现有痛点:需手动将K2的公式复制到下方各行,希望改为仅在K2输入单个函数,即可自动填充所有项目行的结果
现有K列单行列公式
=LET(StartOfMonths, $K$1:INDIRECT(ADDRESS(ROW($K$1),COLUMN($K$1)+ StudioProjectedOperatingMonths -1)),
ProjectNetProfitData, INDIRECT("'"&A2&"'!$I$1:$XX$13"),
TerminateProjectEarly, NOT(ISBLANK($E2)),
ExcludeProject, EXACT($F2, "Yes"),
NetProfitRowIndex, 13,
SetRowToZeros, SEQUENCE(1,StudioProjectedOperatingMonths,0,0),
IFERROR(IF(ExcludeProject,SetRowToZeros,IF(TerminateProjectEarly,HLOOKUP(IF(StartOfMonths<=$E2,StartOfMonths, 0), ProjectNetProfitData,NetProfitRowIndex,FALSE),HLOOKUP(IF(StartOfMonths,StartOfMonths, 0), ProjectNetProfitData,NetProfitRowIndex,FALSE))),0))
自动填充解决方案公式
=LET(dataset, FILTER(A2:F999,(A2:A999<>"")),
prjName, FILTER(dataset,{1,0,0,0,0,0}),
exclude, FILTER(dataset,{0,0,0,0,0,1}),
incProj, FILTER(prjName, exclude="No"),
terminationDate, FILTER(dataset,{1,0,0,0,1,0}),
datesProf, I1:BD1,
GET_TERMINATION_DATE, LAMBDA(proj, VLOOKUP(proj, terminationDate,2,FALSE)),
 GET_DATES, LAMBDA(proj, INDIRECT("'"&proj&"'!B1#")),
 GET_PROFIT,LAMBDA(proj, LET(dates, INDIRECT("'"&proj&"'!B1#"),
  INDIRECT("'"&proj&"'!B3:"&ADDRESS(3,MAX(COLUMN(dates)))))),
DROP(REDUCE("", prjName,
    LAMBDA(ac,p, VSTACK(ac, N(ISNUMBER(XMATCH(p, incProj))) *
        XLOOKUP(datesProf,GET_DATES(p)*(IF(NOT(ISBLANK(GET_TERMINATION_DATE(p))), GET_DATES(p)<= GET_TERMINATION_DATE(p),1)), GET_PROFIT(p),0)))),1))
核心逻辑说明
  • 用FILTER自动筛选非空项目数据,适配后续新增的项目条目
  • 封装三个LAMBDA函数简化重复操作:
    • GET_TERMINATION_DATE:根据项目名称匹配对应的终止日期
    • GET_DATES:提取对应项目工作表中的日期序列
    • GET_PROFIT:提取对应项目工作表中的月度净利润数据
  • 通过REDUCE+VSTACK循环处理每个项目,生成逐行结果,最后用DROP移除初始空行
  • 用N(ISNUMBER(XMATCH(p, incProj)))实现对F列为"Yes"项目的排除逻辑
  • 日期判断逻辑GET_DATES(p)*(IF(NOT(ISBLANK(...)), GET_DATES(p)<=...,1))实现提前终止统计的规则

内容的提问来源于stack exchange,提问作者Automation Monkey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 11:55:24