Office365 Excel数组公式:用前值填充空值、错误值的方法
在Excel Office365中用数组公式填充前一个有效值
核心公式(动态数组,自动溢出)
直接在任意空白单元格输入以下公式,按回车即可生成结果:
=LET( data, A1:A5, valid, IF(ISNUMBER(data)+(data<>""), data, NA()), fill, SCAN("", valid, LAMBDA(a,b, IF(ISNA(b), a, b))), fill )
公式拆解
data, A1:A5:指定要处理的目标数据区域,可根据实际范围修改valid, IF(ISNUMBER(data)+(data<>""), data, NA()):将空单元格、空白文本、各类错误值统一转换为#N/A,保留所有有效数值和非空文本fill, SCAN("", valid, LAMBDA(a,b, IF(ISNA(b), a, b))):通过SCAN函数遍历数据,遇到#N/A时沿用前一个有效值,遇到有效值则更新为当前值,实现连续填充
示例验证
目标区域A1:A5数据:1、空单元格、2、3、错误值
公式输出结果:1、1、2、3、3,完全匹配需求
简化版公式(无LET函数)
如果偏好更简洁的写法,也可以使用:
=SCAN("", IF(ISNUMBER(A1:A5)+(A1:A5<>""), A1:A5, NA()), LAMBDA(a,b, IF(ISNA(b), a, b)))
注意事项
- 若首单元格为有效值,公式直接保留;如果首单元格是无效值,可将
SCAN的初始值(第一个参数"")替换为你需要的默认值 - 该公式为纯数组公式,无需按
Ctrl+Shift+Enter,Office365会自动识别并溢出结果
内容的提问来源于stack exchange,提问作者user2847853
相关产品推荐
相关产品推荐

