本文系因违规而删除的10月27日推送文章经修改后重新推送,已看过的朋友可直接飘过,免得浪费时间。
本次的练习是:如下图1所示的工作表,在单元格区域A1:A7中有一组数据,如何使用公式获取该区域中最长内容的单元格数据?即单元格A2包含的文本“excelperfect”。
图1
先不看答案,自已动手试一试。
公式思路
先求出单元格区域中每个单元格中数据的长度,然后查找最长的长度所在的单元格位置,最后根据该位置获取相应单元格的值。
公式
在单元格C3中的数组公式如下:
=INDEX(A1:A7,MATCH(MAX(LEN(A1:A7)),LEN(A1:A7),0))
结果如图2所示。
图2
公式解析
首先,公式中的:
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)
有兴趣的朋友可以自已思考一下。
下期预告:
Excel公式练习20:对不同的班级分别排序
如下图所示的工作表,在单元格区域A1:C9中有一组学生成绩数据,如何使用公式分别对不同班级的学生根据成绩高低排序?
本文属原创文章,转载请注明出处。
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。