根据最大功能显示单元格的内容

时间:2018-10-21 01:00:37

标签: excel-formula

我正在运行 数据的MAX函数,例如:

+------+-----+------+------+-------+------+------+--------+------+------+--------+------+
| John | Doe | 4323 | Eric | Smith | 1235 | Sean | Wilson | 4567 | Jeff | French | 3212 |
+------+-----+------+------+-------+------+------+--------+------+------+--------+------+

(每个项目位于不同的单元格中)

自然,在整行中运行的MAX函数将返回4567。我希望MAX结果前面的单元格返回直接进行结果处理的名字,例如:

西恩4567

请记住,名字,姓氏和数字位于不同的列中但在同一行上,但始终在一个单元格中位于结果前一定数量的单元格中。 (我不需要也不想要此结果的姓氏)

2 个答案:

答案 0 :(得分:0)

假设您在第4行(从D列到O)有值。

以下内容将为您提供名称(Sean),而不是MAX值(4567):

=INDEX(D4:O4,MATCH(MAX(D4:O4),D4:O4,0)-2)

MATCH公式将返回位置9,INDEX公式将返回位置9的值。我们要返回位置7,因此减去2,INDEX将返回“正确”的结果。 -2是返回值应偏移多少个位置(在找到实际的MAX值之前2个像元)。

如果您想要Sean 4567,我应该将两个公式结合起来:

=INDEX(D4:O4,MATCH(MAX(D4:O4),D4:O4;0)-2) &" "& INDEX(D4:O4,MATCH(MAX(D4:O4),D4:O4,0))

=INDEX(D4:O4,MATCH(MAX(D4:O4),D4:O4,0)-2) &" "& MAX(D4:O4)

enter image description here

您已经提到过,它仅在行的偏移量恒定的情况下才有效(名称始终位于值单元格之前2个单元格)。

答案 1 :(得分:0)

类似于Wizhi所说的,但略短一些。假设信息位于第1行:

=INDIRECT(ADDRESS(1;MATCH(MAX(1:1);1:1) - 2))

在给定行号(1:1)的情况下,列号找到最大值并在其之前(给定的偏移量)加2,然后INDIRECT(ADDRESS())将其与行号连接起来并在那里找到名称(在这种情况下为“ Sean”。)