2016-12-09 58 views
-1

你好,我需要完成一些学校的Excel表,我有真正的困难。
我需要找到最长的完整这样的表名。的要求是,我可以NOT用于制造创建另一列如何获得多行2列的最长长度

= LEN(A1)+ LEN(B1)

,然后比较只是例如该列。所以解决方案应该是只有1行“代码”

| A |  B  |   C 
1| adam | brown | The longest name is: 
2| eva | jameson | john startstky 
3| john | startsky | 

任何帮助非常appriciated。 我已经尝试过

= INDEX(A1:A3,MATCH(MAX(LEN(A1:A3)),LEN(A1:A3),0))

但是,只有搜索通过1列,不适用于多列。

注:

我并不熟练的在Excel中那么多,但这里是我认为应该工作。我只是不知道如何在Excel中做这样的事情。

string longestName 
For each row 
    if(A[index of row].lenght+B[index of row].lenght > longestName.lenght) 
    longestName = A[row].tostring+" "+B[row].tostring 

我也想避免任何编程在C或基本(我不知道哪种语言的Excel支持)。

编辑:代码部分只是提示你了解我的思想过程。我知道你不能将这样的代码应用到公式中...

+0

请评论时你冷静下来。谢谢 –

+0

我没有downvote,但是,我想这与[this]有关[http://meta.stackoverflow.com/questions/334822/how-do-i-ask-and-answer-homework-问题) – Sgdva

+0

哦,像作业的东西?哦...Okey这不是一项功课。这是我的大学项目的一部分,我花了很长时间才解决。而且我甚至无法自己解决它。所以我会说这将是无礼之举。 –

回答

1

我们需要两个连接的Index函数来获得你的返回值。我们还需要使用MATCH的数组形式来查找最长的连接。

=INDEX($A$1:$A$3,MATCH(MAX(LEN(A1:A3 & " " & B1:B3)),LEN(A1:A3 & " " & B1:B3),0)) & " " & INDEX($B$1:$B$3,MATCH(MAX(LEN(A1:A3 & " " & B1:B3)),LEN(A1:A3 & " " & B1:B3),0)) 

正在它需要一个阵列式到与离开编辑模式时按Ctrl移输入,而不是输入来确认。如果正确完成,则Excel将在公式周围放置{}

enter image description here

0

如果C1和C2和C3您有:

=LEN(A1 & B1) 
=LEN(A2 & B2) 
=LEN(A3 & B3) 

然后在D1型公式为:

=INDEX(A1:B3;MATCH(MAX(C1:C3);C1:C3;0);1) & " " & INDEX(A1:B3;MATCH(MAX(C1:C3);C1:C3;0);2) 

你会得到

+0

OP表示不允许使用Helper Column:'要求是我不能创建另一个列来制作' –

+0

OK。然后一个数组公式更好 –