Excel 2016教程: 用数组查找单元格区域中最长文本字符串
查找单元格区域中的最长文本字符串
本公式仅在数据区域包含单列单元格时适用。在 Sheet3 上,在单元格 A16 中输入下面的公式,然后按 Ctrl+Shift+Enter:
=INDEX(A6:A9,MATCH(MAX(LEN(A6:A9)),LEN(A6:A9),0),1)
文本“单元格区域”显示在单元格 A16 中。
让我们从内部元素开始,由内而外深入了解此公式。LEN 函数返回单元格区域 A6:A9 中的每个项的长度。MAX 函数计算这些项中的最大值,它对应于最长文本字符串,位于单元格 A7 中。
下面的计算稍微有点复杂。MATCH 函数计算包含最长文本字符串的单元格的偏移量(相对位置)。为此,需要三个参数:分别是查阅值、查阅数组和匹配类型。MATCH 函数在查阅数组中搜索指定的查阅值。在这种情况下,查阅值为最长的文本字符串:
(MAX(LEN( A6 : A9 ))
并且该字符串位于此数组中:
LEN( A6:A9 )
匹配类型参数为 0。匹配类型可以包含值 1、0 或 -1。如果指定 1,MATCH 返回小于或等于查阅值的最大值。如果指定 0,MATCH 返回正好等于查阅值的第一个值。如果指定 -1,MATCH 查找出大于或等于指定查阅值的最小值。如果未指定匹配类型,Excel 会采用值 1。
最后,INDEX 函数采用这些参数:数组以及该数组内的行号和列号。单元格区域 A6:A9 提供该数组,MATCH 函数提供单元格地址,最后的参数 (1) 指定该值来自数组的第一列。