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

如何用MATCH或XLOOKUP制作不跳过行的Excel溢出数组公式

Excel溢出数组函数问题解决方案

问题1:AR列FILTER公式错位修复

原公式=FILTER(AN$6:AN$15; ISNUMBER(MATCH($AL$6:$AL$15; $AP$6:$AP$15; 0)*MATCH(AM6:AM15; AQ6:AQ15; 0)))会过滤不满足条件的行,导致结果与原行错位。替换为逐行判断的溢出公式,保留所有行位置,不满足时返回空:

=BYROW(AL6:AM15, LAMBDA(row, 
  IF(
    AND(
      ISNUMBER(MATCH(INDEX(row, 1), AP6:AP15, 0)),
      ISNUMBER(MATCH(INDEX(row, 2), AQ6:AQ15, 0))
    ),
    XLOOKUP(1, (AL6:AL15=INDEX(row,1))*(AM6:AM15=INDEX(row,2)), AN6:AN15),
    ""
  )
))
  • 逻辑:BYROW遍历AL:AM的每一行,用INDEX提取当前行的AL、AM值,判断是否同时匹配AP、AQ列的条件;满足则用XLOOKUP返回对应AN列的值,不满足返回空,确保结果与原行一一对应。

问题2:BI列拖拽式XLOOKUP改为动态溢出(BJ列)

原拖拽公式=IFERROR(XLOOKUP(1;($BA$6:$BA$11=BG6)*($BB$6:$BB$11=BH6); $BC$6:$BC$11); "")改为溢出公式,输入到BJ6即可自动填充所有行:

=BYROW(BG6:BH11, LAMBDA(row, 
  IFERROR(
    XLOOKUP(1, (BA6:BA11=INDEX(row,1))*(BB6:BB11=INDEX(row,2)), BC6:BC11),
    ""
  )
))
  • 逻辑:BYROW遍历BG:BH的每一行,提取当前行的BG、BH值作为匹配条件,用XLOOKUP查找对应BC列的值,无匹配时返回空,实现动态溢出,无需手动下拉。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 20:12:18