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

条件#2:成本≥对应收入时查找目标日期行

解决Sheet1盈利日期匹配问题的Excel方案

我来帮你搞定这个公式问题!结合你的数据结构,我们可以用Excel的函数组合精准找到第一个满足「成本≥对应收入」的盈利日期,下面分两种场景给出方案:

方案1:用XLOOKUP(适合Excel 365/2021及以上版本,更简洁)

假设Sheet1的Profitability Date列从C2开始,在C2单元格输入以下公式,然后下拉填充即可:

=IFERROR(XLOOKUP(TRUE, INDEX(Sheet2!B:Z, MATCH(A2, Sheet2!A:A, 0), 0) <= B2, Sheet2!B1:Z1, "", 0, 1), "")

公式拆解:

  • MATCH(A2, Sheet2!A:A, 0):定位Sheet2中当前ID对应的行号
  • INDEX(Sheet2!B:Z, MATCH结果, 0):提取该行所有的收入数据(这里的B:Z是日期列的范围,你可以根据实际数据调整为B:AA或其他)
  • INDEX(...) <= B2:生成布尔数组,标记哪些收入值≤当前行的成本
  • XLOOKUP(TRUE, ..., Sheet2!B1:Z1, "", 0, 1):找到第一个TRUE对应的Sheet2第一行日期,无匹配时返回空值
  • IFERROR(..., ""):把无匹配时的错误值(如#N/A)转换成空单元格,更美观

方案2:用INDEX+MATCH组合(兼容旧版Excel)

如果你的Excel版本不支持XLOOKUP,用这个组合公式同样可以实现:

=IFERROR(INDEX(Sheet2!B1:Z1, MATCH(TRUE, INDEX(Sheet2!B:Z, MATCH(A2, Sheet2!A:A, 0), 0) <= B2, 0)), "")

公式拆解:

  • 内层MATCH(A2, Sheet2!A:A, 0):同样定位对应ID的行号
  • INDEX(Sheet2!B:Z, 行号, 0) <= B2:生成标记满足条件的布尔数组
  • 外层MATCH(TRUE, ..., 0):找到第一个满足条件的列号
  • INDEX(Sheet2!B1:Z1, 列号):提取对应的日期值
  • IFERROR:处理无匹配的情况,返回空值

注意事项

  • 请根据Sheet2的实际日期列范围调整公式中的B:Z和B1:Z1(比如日期列到AA列,就改成B:AA和B1:AA1)
  • 确保Sheet2的ID列无重复值,否则MATCH会返回第一个匹配的行;如果有重复ID,需要额外添加区分条件
  • 若需要找最后一个满足条件的日期,XLOOKUP方案把最后一个参数1改成-1,INDEX+MATCH方案把外层MATCH的第三个参数0改成1即可

内容的提问来源于stack exchange,提问作者Anders Gustavsson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:59:47