使用条件-excel查找中最长的字符串

使用条件-excel查找中最长的字符串,excel,excel-formula,Excel,Excel Formula,我有两列Item和ID-参考示例表。我需要一个Excel公式来确定每个项目的最长长度(基于ID的简单长度) 以下是我试图从示例表中提取的内容: Item 1 ABCDABC Item 2 XXXYZ 我尝试了索引匹配组合: =INDEX("ID column",MATCH(MAX(LEN("ID column")),LEN("ID column"),0),MATCH("Item 1" , "Item Column",0)) 使用ctrl+shift+enter键 结果如下: Item 1 A

我有两列Item和ID-参考示例表。我需要一个Excel公式来确定每个项目的最长长度(基于ID的简单长度)

以下是我试图从示例表中提取的内容:

Item 1 ABCDABC
Item 2 XXXYZ
我尝试了索引匹配组合:

=INDEX("ID column",MATCH(MAX(LEN("ID column")),LEN("ID column"),0),MATCH("Item 1" , "Item Column",0))
使用ctrl+shift+enter键

结果如下:

Item 1 ABCDABC
Item 2 #REF!
任何帮助都将不胜感激

Sample Table
Item        ID 
Item 1      ABC
Item 1      ABCD
Item 1      ABCDA
Item 1      ABCDAB
Item 1      ABCDABC
Item 2      X
Item 2      XX
Item 2      XXX
Item 2      XXXY
Item 2      XXXYZ

这将返回正确的索引:

=INDEX($B$2:$B$11,MATCH(MAX(INDEX(LEN($B$2:$B$11)*($A$2:$A$11=D3),)),INDEX(LEN($B$2:$B$11)*($A$2:$A$11=D3),),0))

数据透视表非常适合这样做,因为它可以处理关系

  • 将源数据转换为Excel表格
  • 向源数据中添加新列,并使用LEN函数 返回每个项目的长度。您只需将公式添加到顶行,Excel将使用表格符号将其向下复制:
  • 用该表创建一个数据透视表,并将项和ID放入行中 窗格,并将长度放入“值”窗格:
  • 右键单击“长度总和”数据透视字段中的一个单元格,然后 将聚合更改为最大值:
  • 单击ID筛选器下拉列表,然后选择值筛选器>前10
  • 在对话框中,将中的10更改为1,然后单击“确定”:
  • 必应

    …如果同一类别中的两个ID具有完全相同的长度,则数据透视表将显示这两个ID:


    漂亮!!!像魔术一样工作!我是第一次使用这个网站。“我该如何赞扬斯科特·克兰纳呢?”布里亚纳塔霍贾耶夫,答案左边的勾号应该是最有帮助的答案。当你有15+的声望时,你也可以对任何你觉得有用的问题和答案进行投票。@BrianAtakhodjaev单击你最终使用的答案旁边的复选标记。没问题。别忘了接受其中一个答案……这两种方法都很好,所以正如俗话所说,这真的是一个“马来人往”的例子。我如何接受答案?在这两种情况下,我都按了“答案有用”的标志。这样行吗?