Excel 匹配 - 最大、第二大、第三大和最低、第二低等,没有重复,包括空格和相同的分数
Excel Match - Largest, 2nd Largest, 3rd Largest & Lowest, 2nd Lowest, etc. without duplicates, including spaces & same scores
我正在尝试自动匹配 excel 中得分最高的 3 个部分和最低的 3 个部分(总共 17 个部分)。每个部分的成绩在各部分之间打印出来,因此同一列中可能存在应忽略的空格(下图)。我正在尝试匹配列表中得分最高、第二高和第三高的部分,不要重复。
现在因为多个部分可能有 100% 的分数,如果有两个部分有 100%,匹配将复制第一个结果,而不是下一个唯一结果。如果有多个 100 或相同的分数,则可以自上而下排名(第一个找到/等)。由于间距(下图),输出中的合并单元格也存在问题。
感谢任何帮助。衷心感谢!
测试公式(下面的table):
=INDEX(D6:D33,MATCH(LARGE(E6:E33,1),E6:E33,0))
=INDEX(D6:D33,MATCH(LARGE(E6:E33,2),E6:E33,0))
=INDEX(D6:D33,MATCH(LARGE(E6:E33,3),E6:E33,0))
=INDEX(D6:D33,MATCH(SMALL(E6:E33,1),E6:E33,0))
=INDEX(D6:D33,MATCH(SMALL(E6:E33,2),E6:E33,0))
=INDEX(D6:D33,MATCH(SMALL(E6:E33,3),E6:E33,0))
实际示例公式(来自文档)
=INDEX($B:$B8,MATCH(LARGE($N:$N8,1),$N:$N8,0))
尝试了其他公式
=LET(rng,CHOOSE({1,2},B47,B85,B141,B163,B187,B207,B231,B262,B283,B308,B327,B353,B379,B413,B437,B465,B500,N47,N85,N141,N163,N187,N207,N231,N262,N283,N308,N327,N353,N379,N413,N437,N465,N500),rws,ROWS(rng),INDEX(SORT(rng,2,-1),CHOOSE({1;2;3;4;5;6},1,2,3,rws,rws+1,rws+2,1)))
=LET(rng,CHOOSE({1,2},D6:D33,E6:E33),rws,ROWS(rng),INDEX(SORT(rng,2,-1),CHOOSE({1;2;3;4;5;6},1,2,3,rws,rws-1,rws-2,1)))
测试数据(实际数据是空白的,但我需要'-'来格式化这里)
Description
Score (%)
Section 1
100
-
-
-
-
-
-
Section 2
30
-
-
Section 3
102
Section 4
83
-
-
-
-
Section 5
85.5
Section 6
97.7
-
-
-
-
-
-
-
-
Section 7
90
Section 8
100
Section 9
100
Section 10
98
Section 11
99
-
-
-
-
-
-
Section 12
75
Section 13
75
Section 14
80
Section 15
37
Answers
-
Highest
Section 3
2nd Highest
Section 1
3rd Highest
Section 1
Lowest
Section 2
2nd Lowest
Section 15
3rd Lowest
Section 12
Desired Answers
-
Highest
Section 3
2nd Highest
Section 1
3rd Highest
Section 8
Lowest
Section 2
2nd Lowest
Section 15
3rd Lowest
Section 12
添加过滤器以删除 non-numeric 行:
=LET(rngprm,CHOOSE({1,2},D6:D33,E6:E33),rng,FILTER(rngprm,ISNUMBER(INDEX(rngprm,0,2))),rws,ROWS(rng),INDEX(SORT(rng,2,-1),CHOOSE({1;2;3;4;5;6},1,2,3,rws,rws-1,rws-2,1)))
编辑:
如果它们真的是空白而不是 -
或 returns ""
空白的公式,那么:
=LET(rngprm,CHOOSE({1,2},D6:D33,E6:E33),rng,FILTER(rngprm,INDEX(rngprm,0,1)<>0),rws,ROWS(rng),INDEX(SORT(rng,2,-1),CHOOSE({1;2;3;4;5;6},1,2,3,rws,rws-1,rws-2,1)))
我正在尝试自动匹配 excel 中得分最高的 3 个部分和最低的 3 个部分(总共 17 个部分)。每个部分的成绩在各部分之间打印出来,因此同一列中可能存在应忽略的空格(下图)。我正在尝试匹配列表中得分最高、第二高和第三高的部分,不要重复。
现在因为多个部分可能有 100% 的分数,如果有两个部分有 100%,匹配将复制第一个结果,而不是下一个唯一结果。如果有多个 100 或相同的分数,则可以自上而下排名(第一个找到/等)。由于间距(下图),输出中的合并单元格也存在问题。
感谢任何帮助。衷心感谢!
测试公式(下面的table):
=INDEX(D6:D33,MATCH(LARGE(E6:E33,1),E6:E33,0))
=INDEX(D6:D33,MATCH(LARGE(E6:E33,2),E6:E33,0))
=INDEX(D6:D33,MATCH(LARGE(E6:E33,3),E6:E33,0))
=INDEX(D6:D33,MATCH(SMALL(E6:E33,1),E6:E33,0))
=INDEX(D6:D33,MATCH(SMALL(E6:E33,2),E6:E33,0))
=INDEX(D6:D33,MATCH(SMALL(E6:E33,3),E6:E33,0))
实际示例公式(来自文档)
=INDEX($B:$B8,MATCH(LARGE($N:$N8,1),$N:$N8,0))
尝试了其他公式
=LET(rng,CHOOSE({1,2},B47,B85,B141,B163,B187,B207,B231,B262,B283,B308,B327,B353,B379,B413,B437,B465,B500,N47,N85,N141,N163,N187,N207,N231,N262,N283,N308,N327,N353,N379,N413,N437,N465,N500),rws,ROWS(rng),INDEX(SORT(rng,2,-1),CHOOSE({1;2;3;4;5;6},1,2,3,rws,rws+1,rws+2,1)))
=LET(rng,CHOOSE({1,2},D6:D33,E6:E33),rws,ROWS(rng),INDEX(SORT(rng,2,-1),CHOOSE({1;2;3;4;5;6},1,2,3,rws,rws-1,rws-2,1)))
测试数据(实际数据是空白的,但我需要'-'来格式化这里)
Description | Score (%) |
---|---|
Section 1 | 100 |
- | - |
- | - |
- | - |
Section 2 | 30 |
- | - |
Section 3 | 102 |
Section 4 | 83 |
- | - |
- | - |
Section 5 | 85.5 |
Section 6 | 97.7 |
- | - |
- | - |
- | - |
- | - |
Section 7 | 90 |
Section 8 | 100 |
Section 9 | 100 |
Section 10 | 98 |
Section 11 | 99 |
- | - |
- | - |
- | - |
Section 12 | 75 |
Section 13 | 75 |
Section 14 | 80 |
Section 15 | 37 |
Answers | - |
---|---|
Highest | Section 3 |
2nd Highest | Section 1 |
3rd Highest | Section 1 |
Lowest | Section 2 |
2nd Lowest | Section 15 |
3rd Lowest | Section 12 |
Desired Answers | - |
---|---|
Highest | Section 3 |
2nd Highest | Section 1 |
3rd Highest | Section 8 |
Lowest | Section 2 |
2nd Lowest | Section 15 |
3rd Lowest | Section 12 |
添加过滤器以删除 non-numeric 行:
=LET(rngprm,CHOOSE({1,2},D6:D33,E6:E33),rng,FILTER(rngprm,ISNUMBER(INDEX(rngprm,0,2))),rws,ROWS(rng),INDEX(SORT(rng,2,-1),CHOOSE({1;2;3;4;5;6},1,2,3,rws,rws-1,rws-2,1)))
编辑:
如果它们真的是空白而不是 -
或 returns ""
空白的公式,那么:
=LET(rngprm,CHOOSE({1,2},D6:D33,E6:E33),rng,FILTER(rngprm,INDEX(rngprm,0,1)<>0),rws,ROWS(rng),INDEX(SORT(rng,2,-1),CHOOSE({1;2;3;4;5;6},1,2,3,rws,rws-1,rws-2,1)))