如何用单条公式自动填充列至有数据行 数组公式能否实现
该需求完全可以实现,使用数组公式即可达成仅在首行输入一次、自动向下计算整列的效果,不同版本办公软件的适配写法如下:
动态数组版本适配(Office 365/2021、WPS 2021及以上)
这类版本支持动态溢出特性,在对应单元格输入公式后会自动向下填充到所有有数据的行,无需手动下拉:
- F列(对应商品累计数量,统计截止到当前行、当前商品的累计交易数量):在F3输入公式
=BYROW(ROW(B3:INDEX(B:B,COUNTA(B:B))),LAMBDA(r,SUMIF(B3:INDIRECT("B"&r),INDIRECT("B"&r),C3:INDIRECT("C"&r)))) - G列(当前商品对应单价,取截止到当前行、当前商品最后一次录入的单价):在G3输入公式
=BYROW(ROW(B3:INDEX(B:B,COUNTA(B:B))),LAMBDA(r,LOOKUP(1,0/(B3:INDIRECT("B"&r)=INDIRECT("B"&r)),D3:INDIRECT("D"&r))))
低版本办公软件适配
如果你的办公软件不支持动态数组,可以提前把公式下拉到足够多的空行(比如预计最大数据量的行号,如第2000行),公式会自动判断当前行是否有录入商品信息,无内容时显示空白,录入新条目后自动计算结果:
- F3公式(输入后按回车,下拉到空白行即可)
=IF(B3="","",SUMIF(B$3:B3,B3,C$3:C3)) - G3公式(输入后按回车,下拉到空白行即可)
=IF(B3="","",LOOKUP(1,0/(B$3:B3=B3),D$3:D3))
如果你提前将数据区域设置为Excel结构化表格(选中已有数据区域,点击「插入」-「表格」),输入首行公式后软件会自动将公式扩展到整列,无需额外操作。
内容的提问来源于stack exchange,提问作者Pravin Kumar Raja
相关产品推荐
相关产品推荐

