求Excel公式:返回指定单元格上方首个数字单元格的相对位置
Excel公式:获取上方首个数字单元格的相对位置
你可以使用以下公式实现需求:
=-(ROW()-LOOKUP(2,1/ISNUMBER(A$1:A3),ROW(A$1:A3)))
公式说明:
ISNUMBER(A$1:A3):检测当前单元格(示例中为A4)上方的所有单元格(A1到A3)是否为数字,生成由TRUE/FALSE组成的数组。1/ISNUMBER(A$1:A3):将TRUE转换为1,FALSE转换为错误值,让LOOKUP函数自动忽略错误值,仅保留数字单元格对应的行号。LOOKUP(2,1/ISNUMBER(A$1:A3),ROW(A$1:A3)):定位到上方最近的数字单元格的行号(示例中返回A2的行号2)。ROW()-...:计算当前单元格行号与目标行号的差值,取负后得到相对位置(目标在当前单元格上方,结果为负数,示例中4-2=2,取负后为-2)。
扩展处理(无数字时返回提示):
如果上方没有任何数字单元格,公式会返回错误,可添加IFERROR优化:
=IFERROR(-(ROW()-LOOKUP(2,1/ISNUMBER(A$1:A3),ROW(A$1:A3))),"无数字单元格")
内容的提问来源于stack exchange,提问作者harry
相关产品推荐
相关产品推荐

