【获取Excel单元格区域中最长内容的单元格数据】如下所示的工作表,在单元格区域A1:A7中有一组数据,如何使用公式获取该区域中最长内容的单元格数据?即单元格A2包含的文本“excelperfect” 。
文章插图
先不看答案,自已动手试一试 。
公式思路
先求出单元格区域中每个单元格中数据的长度,然后查找最长的长度所在的单元格位置,最后根据该位置获取相应单元格的值 。
公式
在单元格C3中的数组公式如下:
=INDEX(A1:A7,MATCH(MAX(LEN(A1:A7)),LEN(A1:A7),0))
结果如所示 。
文章插图
公式解析
首先,公式中的:
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电子表格数据库
- 怎么将XML转换成Excel文件
- 怎么删除Excel里的宏
- 怎么用Excel表格计算净现值VPN
- 怎么用EXCEL表格计算应付利息
- 怎么在 Excel 中创建下拉列表
- 怎么在 Excel 中进行乘法运算
- 怎么在 Excel 中显示隐藏的列
- 怎么在 Microsoft Excel 编写简单的宏