如下所示的工作表,在单元格区域A1:A7中有一组数据,如何使用公式获取该区域中最长内容的单元格数据?即单元格A2包含的文本“excelperfect”。

获取Excel单元格区域中最长内容的单元格数据

先不看答案,自已动手试一试。

公式思路

先求出单元格区域中每个单元格中数据的长度,然后查找最长的长度所在的单元格位置,最后根据该位置获取相应单元格的值。

公式

在单元格C3中的数组公式如下:

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

结果如所示。

获取Excel单元格区域中最长内容的单元格数据

公式解析

首先,公式中的:

LEN(A1:A7)

获取单元格区域A1:A7中各单元格数据的长度,即{7;12;6;4;10;5;6}。

MAX(LEN(A1:A7))

获取长度值中的最大值,即12。

因此,公式中的:

MATCH(MAX(LEN(A1:A7)),LEN(A1:A7),0)

变为:

MATCH(12,{7;12;6;4;10;5;6},0)

其结果为2。

将该值代入INDEX函数,即公式变成:

INDEX(A1:A7,2)

得到单元格A2中的值。

小结

LEN函数可以用于生成一系列代表文本长度数据的数组。

经典的MATCH函数与INDEX函数相配合,获取单元格中的值。

也可以使用下面的数组公式得到同样的结果:

=OFFSET(A1,MATCH(MAX(LEN(A1:A7)),LEN(A1:A7),0)-1,0,1,1)

有兴趣的朋友可以自已思考一下。

发表回复