2014年10月24日 星期五

[Excel教學]使用 LEN 函數及 LENB 函數來分別算出字串的字數及位元組數

在工作時,我們通常會收集到一些資料,如:身份證字號、學號、員工編號…等等。這些資料有可能在輸入時少輸入一個字或多輸入一個字等等情形,造成資料的不正確性,為了避免此情形發生,通常最直接也是最笨的方法就是利用土法煉鋼的方式,一個字一個字去數來算出字數,如此不切實際且浪費人力成本的做法,無法快速處理大量的資料,今天我們將利用Excel中的 LEN 函數或 LENB 函數來解決這個問題。

LEN 函數、LENB 函數(資料來源:台灣微軟‎)

描述 LEN 函數:LEN 會傳回文字字串中的字元數。
LENB 函數:LENB 會傳回用於代表文字字串中字元的位元組數。

方法

步驟 1 從上面微軟給的資訊比較難懂得什麼是字元數及什麼是位元組數。我們將利用下面的例子來加以說明。由於文字有全形和半形之分,因此我們建立了以下的資料,其中「軟體 罐頭」文字中的「軟體」和「罐頭」中間有個半形空白字元,softcans是半形文字,softcans是全形文字。


步驟 2 我們在B2儲存格輸入以下公式 =LEN(A2),同樣地在B3儲存格輸入=LEN(A3)及B4儲存格輸入=LEN(A4)。我們可以發現LEN函數回傳「softcans」半形字串和「softcans」全形字串的字串長度都是8,可見LEN函數對於半形和全形字元都視為一個個體。所以對於「軟體 罐頭」字串就不難懂為何LEN函數會回傳5,因為「軟體 罐頭」字串中,包含4個中文字及1個空白字元。


步驟 3 接下來在C2、C3、C4儲存格輸入以下公式 =LENB(A2)、=LENB(A3)、=LENB(A4)。我們可以發現LENB函數回傳「softcans」全形字串的值是「softcans」半形字串的值的2倍,由此可知1個全形字是由2個半形字所組成,也就是1個字元是由2個位元組所組成。我們可以看一下LENB函數回傳「軟體 罐頭」字串的值是9,由於1個中文字是2個位元組所組成,4個中文字就是利用了8個位元組,而1個半形空隔就是1個位元組,兩個值相加就是9。