You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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)),""))

公式逻辑说明

  1. MATCH(Sheet2!C1,Sheet1!B:B,0):精准定位目标值在Sheet1!B列的行号
  2. INDEX(Sheet1!B:B,MATCH结果-1):划定查找范围为目标值上方所有单元格(从B1到目标值的上一行)
  3. 1/(范围<>""):将范围内非空单元格转为1,空单元格转为错误值(#DIV/0!)
  4. LOOKUP(2,1/...,范围):LOOKUP会自动忽略错误值,在剩余的非空单元格中找到最靠近目标值的那个非空值(即上方首个非空单元格)
  5. IFERROR:处理目标值在Sheet1!B列第一行的异常情况(此时MATCH返回1,减1后范围无效,返回空字符串)

内容的提问来源于stack exchange,提问作者mschumpert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 13:34:57