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

Excel中DX列数值按规则计算填充DW列的公式实现求助

解决Excel中DW列自动填充的问题

核心需求拆解

  • 从DX列按顺序提取有效数值(数字类型,排除文本/空值)
  • DW首个单元格:取DX第1个有效数值,按重估规则计算(示例:9000*(1+1.1064...))
  • 后续DW单元格:依次取DX第2、3...个有效数值,重估后乘以当前行DV列的数值(示例:32458.02*(1+1))
  • 公式下拉后无需手动修改

公式实现(分Excel版本)

1. Excel 365/2021及以上版本(支持动态数组函数)

在DW2单元格输入以下公式,直接下拉即可:

=LET(
    ValidRows, FILTER(ROW($DX:$DX), ISNUMBER($DX:$DX)),
    CurrentIndex, ROWS($DW$2:DW2),
    TargetDX, INDEX($DX:$DX, INDEX(ValidRows, CurrentIndex)),
    TargetDX * (1 + DV2)
)
  • 说明:TargetDX * (1 + DV2)是示例的重估计算,若你的重估规则不同(比如固定系数),直接修改这部分即可。

2. 旧版Excel(2019及以下,不支持动态数组)

在DW2单元格输入以下数组公式(输入后按Ctrl+Shift+Enter确认,而非单独回车),然后下拉:

=IFERROR(INDEX($DX:$DX, SMALL(IF(ISNUMBER($DX$2:$DX$1000), ROW($DX$2:$DX$1000)), ROWS($DW$2:DW2))) * (1 + DV2), "")
  • 注意:将$DX$2:$DX$1000替换为你实际的数据范围(比如DX列最后一行是500,就改成$DX$2:$DX$500)
  • IFERROR用于在没有更多有效数值时显示空值,避免报错。

关键函数解释

  • ISNUMBER:判断DX单元格是否为有效数值
  • SMALL+IF(旧版)/FILTER(新版):按顺序提取有效数值的行号
  • ROWS($DW$2:DW2):自动累计当前是第几个有效数值的位置,下拉时自动递增
  • INDEX:根据行号提取对应的DX数值

内容的提问来源于stack exchange,提问作者Raffaele Sabatino

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 11:17:49