如何在Excel中设置公式使列数值延续上一个非零值直至新值出现
Column B计算公式实现方案
以下提供不同表格工具的可直接复用公式,默认数据首行(表头下第一行数据)为第2行,可根据实际行号调整参数:
通用兼容版(支持所有版本Excel、WPS表格、Google Sheets)
在B2单元格输入以下公式后,向下拖动填充整列即可:
=IF(ROW()=2,0,IF(C2<>0,C2,B1))
逻辑说明:
- 识别到是首行数据时直接返回初始值0,符合需求规则
- 非首行时判断当前行Column C数值:如果为非零值,直接用C列数值更新B列;否则直接继承上一行B列的已有数值
高效动态数组版(支持Excel 365/2021、新版WPS表格)
无需下拉填充,在B2单元格输入以下公式会自动溢出整列结果:
=SCAN(0,C2:C100,LAMBDA(累计值,当前C值,IF(当前C值<>0,当前C值,累计值)))
注:公式里的
C2:C100可替换为你实际的Column C数据范围
Power Query 自定义列方案(适合结构化表批量处理)
先给表添加从0开始的索引列,再添加自定义列,输入以下公式即可:
= List.Last(List.Select(List.Range(#"上一步步骤名"[Column C],0,[Index]), each _<>0) ?? {0})
内容的提问来源于stack exchange,提问作者Abs7778
相关产品推荐
相关产品推荐

