如何在LAMBDA MAP中基于条件实现行偏移量切换(1行/16行)?
解决方案
完全可以把你原有的判断逻辑整合到这套MAP+LAMBDA公式里,还能优化掉原公式中繁琐的INDIRECT+ADDRESS写法,用更高效的INDEX+XMATCH实现:
=MAP(F:F, LAMBDA(Σ, IF(Σ="",, LET( match_row, XMATCH(Σ, A:A), next_val, INDEX(A:A, match_row+1), IFNA(IF(next_val="NO MORE STATUSES.", INDEX(A:A, match_row+16), next_val)) ))))
逻辑说明:
- 用
LET定义变量简化公式结构,避免重复计算匹配行号 match_row:定位当前F列值在A列的匹配行位置next_val:获取匹配行下一行的A列内容- 核心判断:如果
next_val等于"NO MORE STATUSES.",就取匹配行往后第16行的A列内容;否则直接用next_val IFNA处理F列值在A列找不到匹配的情况,IF(Σ="",, ...)跳过F列的空单元格
内容的提问来源于stack exchange,提问作者yesnomaybe
相关产品推荐
相关产品推荐

