excel函数求第三大值的序号

=MATCH(LARGE(C17:C46,3),C17:C46,0)
我用这个公式查找第三大值的序号,因为第二大值有好几个,就仍然显示第二大值的序号,有什么办法能显示第二大值的第二个序号呢?

对于Excel函数的使用,我理解你希望找到第三大值的序号,但如果第二大值有多个,你希望找到第二个序号。这可能需要一些额外的逻辑处理。

我建议使用以下步骤来解决这个问题:

    首先,使用LARGE函数来找到第三大的值。在D1单元格中输入以下公式:
    =LARGE(C17:C46,3)

    接下来,使用MATCH函数来找到第三大值的序号。在D2单元格中输入以下公式:
    =MATCH(D1,C17:C46,0)

    这个公式会返回第三大值在数组C17:C46中的相对位置。

    然后,再次使用LARGE函数,将数组范围改为前三个值(即找到第二大的值的第二个序号)。在D3单元格中输入以下公式:
    =LARGE(IF(MATCH(D1,C17:C46,0)<3,C17:C46),2)

    这个公式首先使用MATCH函数找到第三大值的序号。如果这个序号小于3(也就是说,不是第一或第二大的值),则返回相应行的值。然后,LARGE函数在这些值中找出第二大的值。

    需要注意的是,这个解决方案依赖于你的数据中第二大的值恰好有两个。如果第二大的值有多个,这个公式可以返回任意一个第二大的值的序号。如果你希望返回所有第二大的值的序号,可能需要更复杂的公式或额外的步骤来处理。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-09-16

题主的需求可以表示成这样:①按照数据大小进行排序;②对前述相同数据进一步按照出现顺序进行排序,避免并列排序。

可以通过rank函数和counif函数进行计算,rank函数负责按数值排序,counif按照出现顺序排序。这样就避免了数值相同时排序并列。

以下为示例数据,在C2单元格填入公式,下拉:=RANK(B2,$B$2:$B$5,1)+COUNTIF($B$2:B2,B2)-1

数值排序+按出现顺序排序,避免并列

这样就可以把C列数据作为辅助列,通过vlookup函数或者match函数进行目标序号的查找。

有问题可以追问~

相似回答