我无法在Excel中对表格中的某些项目进行排名和显示。显示我正在尝试创建的简化示例的图像是在此链接(它不会让我发布图像,因为我还是新来的):
对于每一行(或形状,这里),我想在H,I和J列中显示最常用的三种类型的Header列(在本例中为颜色)。
我已尝试过针对H列(最受欢迎)的以下公式的变体:
=INDEX($A$2:$F$2,1,MATCH(LARGE($A3:$F3,1),$A3:$F3,0))
...然后,将LARGE()
函数中的“1”更改为“2”,将第I列和第J列更改为“3”。
这适用于查找最大数字并返回H的列Header,但是当行中存在多个特定数字的实例时,它无法处理。
给出的示例:对于三角形(第5行),它在列H,I和J中出现“蓝色”,而不是查找下一个相等/更低的数字。对于Circles,它给我“蓝色”,“蓝色”,“绿色” - 它知道Green(2)低于Blue(3),但不能说Yellow(3)也高于Green,因为一旦找到最高编号的第一个实例(在本例中为蓝色),它就会停止搜索。
我不介意它不承认格林实际上是'第一平等'而不是第二。我很高兴从左到右优先考虑它,但是我需要它来显示前三个(以及更多,一旦我扩展)而不重复结果。
如果可以的话,我想避免任何VBA,并且觉得必须有办法轻松地做到这一点。
答案 0 :(得分:1)
可能的解决方法
我假设值是整数
我们的想法是将一个非常小的值乘以该列减去每个值,以便没有相等的值
创建第二张工作表(我假设工作表名称是Sheet1和Sheet2)
将公式放在Sheet2中:
A3 | = Sheet1!B3-0.00001*COLUMN()| = Sheet1!C3-0.00001*COLUMN()| = Sheet1!D3-0.00001*COLUMN()| = Sheet1!E3-0.00001*COLUMN()| = Sheet1!F3-0.00001*COLUMN()|
A4 | = Sheet1!B4-0.00001*COLUMN()|...
A5 | ...
....
并将公式更改为 “= INDEX($ B $ 2:$ F $ 2,1,MATCH(大( Sheet2! $ B 3:$ F3,1) , Sheet2! $ B 3:$ F3,0))“