如何用数组公式在指定条件下获取另一列最近的上方平行值?
实现满足条件时引用最近上方平行值的数组公式
针对「当某列满足特定值时,输出其他列最近的上方平行值」的需求,以下是Google Sheets中的数组公式实现方案:
核心公式
=ARRAYFORMULA(IF(B2:B="X",LOOKUP(ROW(B2:B),ROW(B2:B)*(B2:B<>"X"),A2:A),""))
公式说明
ARRAYFORMULA:让公式一次性作用于整列,无需手动下拉填充。IF(B2:B="X", ..., ""):判断B列当前行是否为目标值"X",符合条件则执行后续逻辑,否则返回空值。LOOKUP(ROW(B2:B),ROW(B2:B)*(B2:B<>"X"),A2:A):ROW(B2:B):获取每行的行号。ROW(B2:B)*(B2:B<>"X"):生成仅包含B列不为"X"的行号数组,其余位置为0。LOOKUP会匹配当前行号在该数组中最接近的小于等于它的行号,返回对应A列的值,也就是最近的上方平行值。
自定义调整
- 替换公式中的
"X"为你需要的特定条件值。 - 如果目标列不是B列、引用列不是A列,直接替换对应的列标识即可。
内容的提问来源于stack exchange,提问作者William Toscano
相关产品推荐
相关产品推荐

