使用LARGE函数搭配ARRAYFORMULA出现EQ数组参数尺寸不同错误
谷歌表格公式报错解决方案
报错原因
你遇到的「Array arguments for EQ have different size.」错误核心原因是数组比较维度不匹配:
公式中DATA!B:B = A101:A的两个参与比较的数组长度不一致,DATA!B:B是DATA工作表的整列数据,和当前工作表A列从第101行开始的数组行数不对应,谷歌表格的数组运算要求参与逐元素比较的两个数组维度完全一致,否则就会抛出该错误。
另外原公式还存在两个逻辑问题:
- 重复嵌套
ARRAYFORMULA属于冗余调用,不会生效反而增加运算冲突概率 LARGE函数本身不支持自动逐行匹配A列的每个值单独筛选计算最大值,原写法就算解决维度问题也无法得到你要的逐行匹配结果
修复公式
直接替换原有公式即可,支持A列101行及以下内容自动向下填充,空行自动返回空值:
={"LARGE";BYROW(A101:A,LAMBDA(x,IF(x="",,MAXIFS(DATA!G:G,DATA!B:B,x))))}
公式逻辑说明
- 用
BYROW函数遍历A101及以下的每一行值,逐行传递给LAMBDA函数单独计算,从根源避免数组维度不匹配的问题 - 用
MAXIFS直接筛选DATA工作表中B列等于当前行A列值的所有条目,返回对应G列的最大值,逻辑比原公式的嵌套IF+LARGE更简洁,运算效率也更高
内容的提问来源于stack exchange,提问作者Rheago
相关产品推荐
相关产品推荐

