如何自动提取首个非零值对应的周数并填充指定列?
如何返回首个值≠0的周并自动填充「首周」列
以下是针对不同表格工具的解决方案,假设周数位于第一行(如B1:Z1),每行的周数据对应下方单元格(如B2:Z2为第一行数据),「首周」列需填入该行第一个非0值对应的周数:
Excel 365/2021 版本
使用动态数组函数XLOOKUP,公式简洁且无需特殊输入:
=XLOOKUP(TRUE,B2:Z2<>0,B1:Z1,"无数据")
- 逻辑:查找第一个满足「单元格值≠0」的位置,返回对应第一行的周数;若无符合条件的值,返回「无数据」
- 操作:在「首周」列第一个单元格输入公式后,下拉填充整列即可
旧版Excel(2019及更早)
使用INDEX+MATCH组合,需按Ctrl+Shift+Enter完成数组输入(新版Excel无需此操作):
=INDEX(B$1:Z$1,MATCH(TRUE,B2:Z2<>0,0))
- 逻辑:通过
MATCH定位第一个非0值的列位置,再用INDEX提取对应周数 - 注意:
B$1:Z$1的绝对引用确保下拉时周数行不会偏移
Google Sheets
公式与Excel 365通用,直接输入后下拉填充:
=XLOOKUP(TRUE,B2:Z2<>0,B1:Z1,"无数据")
内容的提问来源于stack exchange,提问作者SaPires
相关产品推荐
相关产品推荐

