Excel中存在重复平均值时,如何返回前5个最低平均值的列标题?
Excel获取重复最低平均值对应的列标题解决方案
你在Excel中有如下表格,需提取前5个最低平均值对应的列标题,但部分列平均值存在重复:
| Column A | Column B | Column C | Column D | Column E |
|---|---|---|---|---|
| 2 | 3 | 4 | 3 | 2 |
使用INDEX+MATCH+SMALL组合公式时,仅能识别最低平均值的第一个实例(如本例中的Column A),无法返回同值的Column E。需要按以下顺序输出结果:
Column A
Column E
Column B
Column D
Column C
方法1:Excel 365/2021(动态数组)
用SORTBY函数按列平均值升序排序表头,重复值保持原列顺序,输入公式后自动溢出结果:
=SORTBY(A1:E1, AVERAGE(A2:A2):AVERAGE(E2:E2), 1)
因本例每列仅1个值,平均值等于单元格值,可简化为:
=SORTBY(A1:E1, A2:E2, 1)
方法2:旧版Excel(数组公式)
若使用旧版Excel,在F1单元格输入以下数组公式,按Ctrl+Shift+Enter确认后下拉填充至F5:
=INDEX($A$1:$E$1, SMALL(IF($A$2:$E$2=SMALL($A$2:$E$2,ROW(A1)), COLUMN($A$1:$E$1)-COLUMN($A$1)+1), COUNTIF($F$1:F1, INDEX($A$1:$E$1, SMALL(IF($A$2:$E$2=SMALL($A$2:$E$2,ROW(A1)), COLUMN($A$1:$E$1)-COLUMN($A$1)+1), 1)))+1))
公式逻辑:
SMALL($A$2:$E$2,ROW(A1))获取第N小的平均值(下拉时自动递增N)IF函数筛选出平均值等于当前第N小值的所有列位置COUNTIF统计已输出的同标题次数,确保重复值依次被提取
内容的提问来源于stack exchange,提问作者Josey1979
相关产品推荐
相关产品推荐

