如何在Google Sheet中用单个公式获取多区块下一个非空单元格数据
Google Sheet 获取下一个非空单元格值的公式方案
针对你需要在B列任意行获取A列中下一个非空行数据的需求,这里提供两种可用公式:
方案一:使用XLOOKUP(推荐,支持新版Google Sheet)
在B1单元格输入以下公式,下拉填充到所有需要的行:
=XLOOKUP(TRUE, A1:A<>"", A1:A, , 0, 1)
公式说明:
A1:A<>"":生成布尔数组,标记A列非空单元格XLOOKUP会从当前行开始向下搜索第一个非空单元格,返回对应A列的值- 最后一个参数
1确保搜索方向为从前往后,精准定位当前行下方的第一个汇总值
方案二:兼容旧版Google Sheet的INDEX+MATCH方案
若你的Sheet版本不支持XLOOKUP,可使用以下公式:
=INDEX(A:A, MATCH(TRUE, OFFSET(A1,0,0,ROWS(A:A)-ROW(A1)+1)<>"", 0) + ROW(A1) - 1)
公式说明:
OFFSET(A1,0,0,ROWS(A:A)-ROW(A1)+1):生成从当前行到A列末尾的区域MATCH(TRUE, ...<>"", 0):定位该区域内第一个非空单元格的相对位置INDEX(A:A, ...):通过计算得到的绝对行号,返回对应A列的汇总值
测试后即可实现需求:空行自动填充下方第一个非空汇总值,汇总值所在行显示自身。
内容的提问来源于stack exchange,提问作者Argyll
相关产品推荐
相关产品推荐

