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

使用多条件XLOOKUP为何出现数组大小不匹配错误?

解决XLOOKUP多条件匹配时的“数组参数大小不同”错误

问题场景

使用XLOOKUP进行多条件匹配时,无论使用何种数据集,都会返回错误:

Array arguments to XLOOKUP are of different size

以测试数据集为例:

项目1项目2价格
ShipsWater300
CarsRoads50
AirplanesSky120
MotorcyclesRoads20

设置条件:

  • 单元格F1:Cars
  • 单元格F2:Roads

使用公式:

=XLOOKUP(F1&F2,A2:A5&B2:B5,C2:C5)

期望返回结果:50
实际返回结果:

#N/A
Array arguments to XLOOKUP are of different size

错误原因

在Google Sheets中,直接用&拼接两个单元格区域(如A2:A5&B2:B5)时,默认不会自动生成数组,只会计算第一个单元格的拼接结果(即A2&B2),导致查找数组是单个值,而返回数组C2:C5是4个值的数组,两者大小不匹配,触发错误。

解决方案

方案1:用ARRAYFORMULA包裹拼接区域

修改公式为:

=XLOOKUP(F1&F2, ARRAYFORMULA(A2:A5&B2:B5), C2:C5)

ARRAYFORMULA会触发数组运算,让A2:A5和B2:B5的每个单元格逐一拼接,生成和C2:C5大小一致的数组,匹配后即可返回正确结果50。

方案2:直接用多条件数组匹配

无需拼接字符串,直接用条件组合生成布尔数组,匹配符合所有条件的位置:

=XLOOKUP(1, (A2:A5=F1)*(B2:B5=F2), C2:C5)

(A2:A5=F1)和(B2:B5=F2)会分别生成布尔数组,相乘后只有两个条件都满足的位置会得到1,XLOOKUP匹配1即可返回对应价格。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 05:35:16