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

使用CHOOSECOLS嵌套AVERAGEIFS实现溢出平均值计算遇阻求助

解决AVERAGEIFS嵌套CHOOSECOLS处理溢出数组失效的问题

可行解决方案

方案1:用INDEX替代CHOOSECOLS获取单元格引用

用INDEX获取溢出数组的整列单元格引用,替代CHOOSECOLS,就能让AVERAGEIFS正常工作并返回溢出结果:

英文环境公式:

=AVERAGEIFS(INDEX(A1#, ,2), INDEX(A1#, ,1), G1#)

西班牙文环境(参数分隔符为;):

=PROMEDIO.SI.CONJUNTO(INDICE(A1#;;2); INDICE(A1#;;1); G1#)

方案2:用BYROW+AVERAGEIF遍历计算

如果需要更灵活的数组逻辑,可通过BYROW遍历唯一值数组,逐个计算对应平均值:

英文环境公式:

=BYROW(G1#, LAMBDA(x, AVERAGEIF(CHOOSECOLS(A1#,1), x, CHOOSECOLS(A1#,2))))

西班牙文环境:

=PORFILA(G1#; LAMBDA(x; PROMEDIO.SI(ELEGIRCOLS(A1#;1); x; ELEGIRCOLS(A1#;2))))

失效原因说明

AVERAGEIFS对参数类型有硬性要求:要计算的区域和条件区域必须是单元格区域引用,而CHOOSECOLS返回的是内存中的动态数组常量,并非单元格引用,因此函数无法正确识别匹配关系,导致无法生成溢出结果。而INDEX(A1#, ,列号)可以返回原溢出数组对应的整列单元格引用,完全符合AVERAGEIFS的参数要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 19:55:02