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

使用IF语句以NAN为断点实现列分段求和及NAN值填充

基于IF函数的分段求和实现方案

假设你的数据第1行为表头,有效数据从第2行开始,A列为Name字段、B列为Sold字段,和给出的示例结构完全一致,按以下步骤操作即可:

  • 第一步:插入辅助列标记分段
    在C2单元格输入以下公式,下拉填充到所有数据行:
    =IF(ISNA(B2),A2,C1)
    公式逻辑:如果当前行B列值为NAN,说明碰到了分段断点,就取当前行A列的名称作为新分段的标记;如果当前行B列是正常数值,就沿用上一行的分段标记,自动把同一段的所有行归到同一个标记下。
  • 第二步:替换NAN为对应分段求和值
    你可以在空白列(比如D列)D2单元格输入以下公式,下拉填充到所有数据行:
    =IF(ISNA(B2),SUMIF(C:C,C2,B:B),B2)
    公式逻辑:如果当前行B列是NAN,就统计C列中与当前行分段标记一致的所有行的B列数值总和,也就是这个断点下方相邻段的数值和;如果当前行B列是正常数值,直接保留原值即可。

结果验证

用给出的示例数据计算后,最终B列结果如下:

NameSold
ABC500
FP200
FP300
XYZ150
SC50
SC100

注意事项

  • 如果你的B列NAN是手动留的空白单元格,不是公式返回的#N/A错误值,把两个公式里的ISNA(B2)替换成ISBLANK(B2)即可,逻辑完全不变。
  • 计算完成后,可以把D列的结果复制后选择性粘贴为数值到原B列,再删除辅助列C和临时计算列D,就能得到最终的目标数据。

内容的提问来源于stack exchange,提问作者nilesh shrivastava

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 04:36:15