Google Sheets公式需求:查找目标值并返回上方首个非空单元格
Google Sheets公式:查找目标值上方首个非空单元格
要实现在Sheet2!C列取数据,到Sheet1!B列匹配后返回目标值所在单元格上方首个非空单元格的需求,你之前的公式仅能获取正上方单元格,无法跳过中间空值,可使用以下方案:
单个单元格公式(针对Sheet2!C1)
=LOOKUP(2,1/(Sheet1!B$1:INDEX(Sheet1!B:B,MATCH(Sheet2!C1,Sheet1!B:B,0)-1)<>""),Sheet1!B$1:INDEX(Sheet1!B:B,MATCH(Sheet2!C1,Sheet1!B:B,0)-1))
批量处理公式(适配Sheet2!C整列)
=ARRAYFORMULA(IFERROR(LOOKUP(2,1/(Sheet1!B$1:INDEX(Sheet1!B:B,MATCH(Sheet2!C:C,Sheet1!B:B,0)-1)<>""),Sheet1!B$1:INDEX(Sheet1!B:B,MATCH(Sheet2!C:C,Sheet1!B:B,0)-1)),""))
公式逻辑说明
MATCH(Sheet2!C1,Sheet1!B:B,0):精准定位目标值在Sheet1!B列的行号INDEX(Sheet1!B:B,MATCH结果-1):划定查找范围为目标值上方所有单元格(从B1到目标值的上一行)1/(范围<>""):将范围内非空单元格转为1,空单元格转为错误值(#DIV/0!)LOOKUP(2,1/...,范围):LOOKUP会自动忽略错误值,在剩余的非空单元格中找到最靠近目标值的那个非空值(即上方首个非空单元格)IFERROR:处理目标值在Sheet1!B列第一行的异常情况(此时MATCH返回1,减1后范围无效,返回空字符串)
内容的提问来源于stack exchange,提问作者mschumpert
相关产品推荐
相关产品推荐

