LEN函数非常小巧,就1个参数,返回参数指定值的字符数,其基本用法如图1所示 。

文章插图
图1
注意,当对日期单元格求长度时,LEN函数计算的是表示日期的序号的长度 。对错误值单元格求长度时,LEN函数返回错误值 。
可以使用数组公式一次性求单元格区域中各单元格中的字符长度,如图2所示 。

文章插图
图2
可以看出,LEN函数甚至比我们上篇文章中介绍的ROW函数和ROWS函数还要简单,但将其在公式中合理运用时,能够更充分发挥作用 。
LEN函数之美
LEN函数的美在于能够提供最终的确切数字,并为其他函数所用 。如果说ROW函数是提供动态变化数字的计数器的话,那么LEN函数提供的数字就是计数终结的地方 。
下面我们通过小示例演示LEN函数在公式中的美妙运用 。
作为ROW函数的参数根据单元格数据长度生成连续的数字数组
如图3所示,使用数组公式:
=ROW(INDIRECT(“1:”& LEN(B2)))
生成由连续数字组成的数组{1;2;3;4;5} 。数字的个数取决于单元格B2中的字符数 。也就是说,当LEN函数的参数单元格中的字符变化时,生成的数字数组也相应变化,这就为公式的扩展提供了灵活性 。

文章插图
图3
【小而美的函数之LEN函数】作为ROW函数的参数并与MID函数配合拆分字符串
如图4所示,将单元格B2中的字符串拆分成单个的字符,使用数组公式:
=MID(B2,ROW(INDIRECT(“1:”& LEN(B2))),1)
正如上文介绍的,ROW(INDIRECT(“1:” &LEN(B2)))根据单元格文本的长度生成连续数字,然后以这些数字为起点在单元格中提取1个字符,生成单独的字符组成的数组,即完成单元格字符串的拆分 。

文章插图
图4
作为MATCH函数和MAX函数的参数获取单元格列区域中最长文本所在单元格的位置
如下图5所示,要求某一区域如B2:B5中最长文本所在单元格的位置,可以使用数组公式:
=MATCH(MAX(LEN(B2:B5)),LEN(B2:B5),0)
LEN函数分别作为MAX函数和MATCH函数的参数 。其中,LEN(B2:B5)生成一系列由单元格区域中各单元格数据长度值组成的数字,MAX函数获取最大值,即该单元格区域中的最长文本数,MATCH函数在LEN函数生成的数字数组中查找这个最长文本数,即为最长文本所在单元格的位置 。

文章插图
图5
更进一步,在得到最长文本所在单元格的位置后,再结合INDEX函数或者OFFSET函数即可获取该单元格中的文本 。
与SUBSTITUTE函数配合求字符串中某字符出现的次数
如图6所示,要求字符串中指定字符出现的次数,本例中是字符“e”在“excelperfect”中出现的次数,使用公式:
=LEN(B2)-LEN(SUBSTITUTE(B2,”e”,””))
公式前面求的是总字符数,后面是将字符“e”替换后的字符串,两者相减即为字符“e”出现的次数 。

文章插图
图6
结语
在公式中灵活使用LEN函数生成的数字或数字数组,可以提供计数终结数,也为获取字符或字符串提供了便利 。
推荐阅读
- ROW函数和ROWS函数
- 小而美的函数之SMALL函数
- excel图表怎么发挥IF函数的威力
- 怎么通过中间值获取数据的INDIRECT函数
- 上 10个示例让你的VLOOKUP函数应用从入门到精通
- LOOKUP函数的特别之处
- VLOOKUP函数的秘密
- MATCH函数的几个使用技巧
- INDEX函数,不仅获取数据,还能得到单元格区域
- 理解VLOOKUP函数第4个参数的真实含义