Excel公式與函數之美10:小而美的函數之LEN函數
LEN函數非常小巧,就1個參數,返回參數指定值的字元數,其基本用法如圖1所示。
圖1
注意,當對日期單元格求長度時,LEN函數計算的是表示日期的序號的長度。對錯誤值單元格求長度時,LEN函數返回錯誤值。
可以使用數組公式一次性求單元格區域中各單元格中的字元長度,如圖2所示。
圖2
可以看出,LEN函數甚至比我們上篇文章中介紹的ROW函數和ROWS函數還要簡單,但將其在公式中合理運用時,能夠更充分發揮作用。
一鍵直達 >> Excel函數學習39:LEN函數
LEN函數之美
LEN函數的美在於能夠提供最終的確切數字,並為其他函數所用。如果說ROW函數是提供動態變化數字的計數器的話,那麼LEN函數提供的數字就是計數終結的地方。
下面我們通過小示例演示LEN函數在公式中的美妙運用。
作為ROW函數的參數根據單元格數據長度生成連續的數字數組
如圖3所示,使用數組公式:
=ROW(INDIRECT("1:"& LEN(B2)))
生成由連續數字組成的數組{1;2;3;4;5}。數字的個數取決於單元格B2中的字元數。也就是說,當LEN函數的參數單元格中的字元變化時,生成的數字數組也相應變化,這就為公式的擴展提供了靈活性。
圖3
作為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函數生成的數字或數字數組,可以提供計數終結數,也為獲取字元或字元串提供了便利。
本文屬原創文章,轉載請註明出處。
歡迎在下面留言,完善本文內容,讓更多的人學到更完美的知識。
推薦閱讀:
※財務人員必懂得幾個Excel函數(三)
※一對多查找,用 Vlookup 函數太Out了!
※考試成績分析函數
※EXCEL中的TEXT函數詳解
※ROW 函數 (查找和引用函數)