2016-01-21 170 views
1

因此,在研究并通过反复试验(主要是错误)之后,我的头部很难试图完成这项工作。它可能很简单,我错过了。Excel - 在组/数组中找到文本字符串的最大值(Pic)

我有一列显示字母和数字的文本字符串。该值总是13个字符,最后两位数字为数字(即01,02,03等)。我希望相邻列指示哪一行包含该组中最大值(基于最后2个数值)(请参阅图像)。

Excel Screenshot

我发现了一个类似的例子,但不能让它在我的应用程序(Excel - Find Highest Value of a Column in all Matching Rows (With Screenshot))工作。不知道是否因为单元格格式化。

请帮忙 - 非常感谢!

+0

如果A2是包含文本字符串的单元格,则可以使用** Right()**公式提取每个文本字符串的最后两位数字**右(A2,2)**将返回最后2个数字,但不是数字,要将它们转换为数字,您可以像这样嵌套Right()公式** NUMBERVALUE(RIGHT(A2,2))**。你会得到最后两位数字。现在可以在结果数字列上使用** MAX()**公式来决定最大值 –

回答

1

你可以用数组公式做:

=IF(NUMBERVALUE(RIGHT(A2,2))=MAX(IF(LEFT($A$2:$A$10,11)=LEFT(A2,11),NUMBERVALUE(RIGHT($A$2:$A$10,2)))),TRUE) 

输入公式后,您需要按Ctrl + Shift + Enter。它假设13个字符的字符串在末尾有两位数字。

1

我可以告诉你如何做这个零碎......如果你添加下面的公式,它应该做你想要的。

  1. 在单元格B2,输入公式=LEFT(A2,11)
  2. 在小区C2中,输入=RIGHT(A2,2)+0+0实际上很重要,因为它将从文本到数值的值的上下文,这将允许下一部分工作
  3. 在单元格D2中,您需要一个数组公式。输入=MAX(IF($B:$B=B2,$C:$C)),当你按回车键,按住CTRL和SHIFT。如果你这样做是正确,当你在该单元格,Excel将有大约公式(即使你不会看到他们,当您尝试编辑)
  4. E2单元格现在是根本=C2=D2
大括号{}

当您复制公式的时候,我相信这将有希望的结果:

TEXTXXXXXXX01 TEXTXXXXXXX 1 3 FALSE 
TEXTXXXXXXX02 TEXTXXXXXXX 2 3 FALSE 
TEXTXXXXXXX03 TEXTXXXXXXX 3 3 TRUE 
TEYTYYYYYYY04 TEYTYYYYYYY 4 5 FALSE 
TEYTYYYYYYY05 TEYTYYYYYYY 5 5 TRUE 
TEZTZZZZZZZ06 TEZTZZZZZZZ 6 10 FALSE 
TEZTZZZZZZZ07 TEZTZZZZZZZ 7 10 FALSE 
TEZTZZZZZZZ08 TEZTZZZZZZZ 8 10 FALSE 
TEZTZZZZZZZ09 TEZTZZZZZZZ 9 10 FALSE 
TEZTZZZZZZZ10 TEZTZZZZZZZ 10 10 TRUE 
相关问题