葡萄牙语版Excel:提取不同列单元格前三最大值的方法求助
葡萄牙语版Excel提取分散单元格三个最大值的修正方案
原公式问题分析
你写的公式出错或结果不符,核心有两个问题:
- MAIOR函数参数错误:MAIOR(对应英文LARGE)的第一个参数必须是单元格区域或数组常量,不能直接罗列单个单元格(C17,F17,I17,L17)。
- MÁXIMO函数误用:MÁXIMO是求最大值,用它包裹三个MAIOR结果,最终只会返回原数据的第1大值,无法得到三个最大值。
修正方案与替代方法
方案1:正确使用MAIOR函数获取三个最大值
葡萄牙语Excel中MAIOR的语法是 MAIOR(intervalo, k),其中intervalo为区域/数组,k是第k大值。需要先把分散单元格转为数组:
单独获取每个最大值(分别放在不同单元格):
- 第1大值:
=MAIOR({C17;F17;I17;L17}, 1) - 第2大值:
=MAIOR({C17;F17;I17;L17}, 2) - 第3大值:
=MAIOR({C17;F17;I17;L17}, 3)
注:如果你的Excel区域设置用逗号分隔数组元素,就把分号换成逗号,即{C17,F17,I17,L17}
- 第1大值:
同一单元格显示三个值(逗号分隔):
用TEXTO.CONCAT函数拼接结果:=TEXTO.CONCAT(", ", TRUE, MAIOR({C17;F17;I17;L17}, 1), MAIOR({C17;F17;I17;L17}, 2), MAIOR({C17;F17;I17;L17}, 3))对三个最大值求和:
用SOMA函数累加:=SOMA(MAIOR({C17;F17;I17;L17}, 1), MAIOR({C17;F17;I17;L17}, 2), MAIOR({C17;F17;I17;L17}, 3))
方案2:动态数组函数组合(适用于新版Excel)
如果你的Excel支持动态数组,用SELECIONAR.COLUNAS(对应英文CHOOSECOLS)先组合列,再提取前3大值:=MAIOR(SELECIONAR.COLUNAS($17:$17; 3;6;9;12); {1,2,3})
这个公式会直接返回三个最大值的动态数组,自动填充到相邻单元格。
方案3:排序后取前3个(动态数组版)
用CLASSIFICAR(对应英文SORT)按降序排序,直接取前3个值:=CLASSIFICAR({C17;F17;I17;L17}; -1; TRUE)
内容的提问来源于stack exchange,提问作者czargab18
相关产品推荐
相关产品推荐

