当两个数字相同时,接下来的最高值

我正在尝试根据以下公式查找单元格:

(大$($ A $ 2:$ A $ 10,2),$ A $ 2,1,$ A $ 2:$ C $ 10,3, $ 2:$ C $ 10,3,为假) 为第二高的价值

等等

我的问题是当公式的这个部分有两个相同的值时(“大($ A $ 2:$ A $ 10,2)”,但是对于查找值是不同的。例如,当这个系列看起来像这样 –

最大10(汽车),2(卡车),2(范),4(摩托车)

我回来(汽车),(摩托车),(卡车),(卡车)…而不是(汽车),(摩托车),(卡车),(范)。

有没有人知道这个使用公式或vba的解决scheme?

谢谢!

…我能想到的唯一方法就是创build一个额外的“帮手列”(但我希望看到其他人的解决scheme)。

所以假设你的数据如下所示:

ColA ColB ColC ColD 10 [whatever] Car [Formula] 2 [whatever] Truck [Formula] 2 [whatever] Van [Formula] 4 [whatever] Motorcycle [Formula] 

我会在列A和B之间添加一个新的列,然后input一个公式如下

在(新)B2:

 =A2 + COUNTIF($A$2:A2,A2)/100 

现在,当你拖下来时,它会把每一个重复的值递增0.01,看起来如下:

 ColA ColB ColC ColD ColE 10 10.01 [whatever] Car [Formula] 2 2.01 [whatever] Truck [Formula] 2 2.02 [whatever] Van [Formula] 4 4.01 [whatever] Motorcycle [Formula] 

然后,只需更新您的Vlookup公式,开始查看B列而不是A列。

希望这是有道理的…

你能不能把A列的桌子按顺序排列? 那么你的Excel公式可能是:

 =vlookup($A2,$A2:$C$10,3,false) =vlookup($A3,$A3:$C$10,3,false) =vlookup($A4,$A4:$C$10,3,false) 

事实上,比这更容易,你的公式可能只是:

 =$C2 =$C3