什么公式将返回一组单元格中最高值的指定代码?

什么公式将返回一组单元格中最高值的指定代码?

我想返回一组单元格中具有代表性代码的最高值。一张图片胜过千言万语,因此我在下面为您添加了一张:

在此处输入图片描述

您在图片中看到的内容(T 列,其中的字母与标题之一相关,并显示前三列中的最高值)是手工完成的。我不想对其余部分这样做,因为这会花费很长时间。

对于使用 Excel 2007 的人来说,实现此目的最简单、最容易的公式是什么?(如果您可以在公式中添加一些解释,那就更好了,但这不是必需的。)

答案1

由于您没有具体说明平局时会发生什么,因此我假设如果三列均出现平局,则结果应该是 NBT。

  1. 找到最大值:

    使用以下公式:

    =MAX(Q2:S2)
    

    这给出了最大值。(假设它用于 T2)

    使用名称管理器将此公式命名为 MaxV 或直接使用公式本身。

  2. 第一个如果:

    =IF(Q2=MaxV,"N","")
    

    此 IF() 打印 N 或不打印任何内容

  3. 为其他列创建公式并合并为一个方程式:

    =IF(Q2=MaxV,"N","") & IF(R2=MaxV,"B","") & IF(S2=MaxV,"T","")
    

如果您不想使用名称管理器,那么完整的公式是:

=IF(Q2=MAX(Q2:S2),"N","") & IF(R2=MAX(Q2:S2),"B","") & IF(S2=MAX(Q2:S2),"T","")

用于&将两个字母连接在一起,类似于使用 + 将两个数字相加。

答案2

bvaughn 的答案简洁明了,特别是如果你只有几列的话。如果你添加更多列,它也可以直观地扩展。但是,如果你有很多列,这种方法可能会变得笨拙。

如果您需要使用更多列来扩展问题,这里有一种不同的方法,其可扩展性更好。

=CHOOSE(MATCH(MAX(Q2:S2),Q2:S2,0),"N","B","T")

从内向外进行解释:

  • MAX(Q2:S2)确定范围内的最大值。

  • MATCH(MAX(Q2:S2),Q2:S2,0)在范围内定位该值,并给出一个位置编号。

  • CHOOSE(position,"N","B","T")使用相同的相对位置从输出值列表中进行选择。

这种类型的公式只需将输出添加到列表中(当然还要调整范围)即可处理大量列。当列数增加时,主要部分不会改变。公式保持紧凑,因为随着列数的增加,唯一增加的是输出值列表。

替代解决方案

CHOOSE 函数之所以需要,只是因为您使用的标签与列标题不同。如果您使用列标题(本例中为“新闻”、“书籍”、“推文”),则可以使用仅引用范围的通用公式:

=INDEX(Q$1:S$1,1,MATCH(MAX(Q2:S2),Q2:S2,0))

查找最高数字的位置与之前相同,但它用于使用 INDEX 从第一行的标题中进行选择。此公式对于任何数量的列都保持不变,只需指定范围即可。

相关内容