如果多个匹配,MATCH 会产生相同的结果

问题描述 投票:0回答:2

致力于工作中使用的电子表格的自动化部分,但似乎无法解决此问题。

https://imgur.com/a/nq3RGLv

左边有车道号和每车道的计数。在右侧,我想要前 6 个最高的数字以及相应的泳道。

我使用

=LARGE(B2:B19, 1)
一直到
=LARGE(B2:B19, 6)
抓取最大的 6 个数字,并将它们插入右侧。

我遇到的问题是当我在 TOP 6 的左列中使用 MATCH 来标记最大数字时。

目前我在左侧单元格中使用

="LANE "&MATCH(E2,B2:B19,0)
来表示 LANE 10 7 6 等,但如果右侧有两个相同的数字,则只会表示同一车道两次。

所以在我的照片中,D4 应该说 LANE 9 而不是 4。

解决此问题的最佳方法是什么?也许有一个更简单的功能?最好是在稍旧的版本中也能工作的东西,我现在使用的是 2016 年。

我真的很感谢我能得到的任何帮助。干杯

excel excel-formula match excel-2010 excel-2016
2个回答
0
投票

请在 D2 中尝试这个公式

="Lane"&" "&SMALL(IF($B$2:$B$19=E2,ROW($A$2:$A$16)-ROW($A$2)+1),COUNTIF($E$2:E2,E2))

这适用于 Excel 2016,如果您在这个公式中有不明白的地方,请告诉我,我会向您解释


0
投票

使用 AGGREGATE( ) 函数的另一种替代方法自 Excel 2010+ 起可用。


• 单元格中使用的公式 D2

=IF(E2="","","LANE "&AGGREGATE(15,7,$A$2:$A$19/(E2=$B$2:$B$19),COUNTIFS(E$2:E2,E2)))

• 单元格中使用的公式 E2

=IF(ROWS(E$1:E1)>6,"",AGGREGATE(14,7,$B$2:$B$19/($A$2:$A$19<>""),ROW($ZZ1)))

但是,在

MS365

会更容易做到
=TAKE(SORT(HSTACK("LANE "&A2:A19,B2:B19),2,-1),6)

© www.soinside.com 2019 - 2024. All rights reserved.