如何从一系列数据中获得次最小值的单元格引用

我需要从数据范围中获取单元格引用(具体而言,我只需要列号)第二小的值。由范围中的值可以相同的事实所困扰。 例如。

ABCDE 1 5 2 1 8 

应该返回D作为我的列与第二小的值。

我的代码的当前部分如下所示:

= SMALL( '工作表Sheet1' C38:X38,2)! '工作表Sheet1' C38:X38,0)

然而,这让我的问题是,如果第二个最小的值是相同的第一个只有第一个将被匹配和返回。

有没有办法做到这一点?

使用Aggregate返回您将提供给INDEX公式的列号,以返回另一个值:

 =INDEX($A$3:$E$3,AGGREGATE(15,6,COLUMN($A$1:$E$1)/($A$1:$E$1=SMALL($A$1:$E$1,2)),MIN(2,COUNTIF($A$1:$E$1,SMALL($A$1:$E$1,2))))) 

在这里输入图像说明