2013/10/04

計算中文字數量

當要改外版要送翻譯的時後會需要告訴翻譯社字數,但EXCEL中沒有直接提供計算中文字數量的功能。所以的最接近的LEN函數來用。但是...

但是LEN不會區分中文或外文,它會將中文字視為兩個字來計算。因此我們再利用LENB這個函數。LENB會將中文視為2個字元,如此一來,與LEN搭配使用,就可以計算其中的雙位元文字數量。

函數寫法如下,A1代換成想計算的儲存格座標即可。

LENB(A1)-LEN(A1)

假設A1儲存格中的內容為「12測試」
那 LENB(A1) 的結果就會是6
而 LEN(A1) 的結果則會是4
兩者相減的結果就是雙位元文字的數量了。

不過這個函數一次只能對一個儲存格使用,但對於一個遊戲的表格來說,99.9%的機率這些文字是分散在許多的儲存格中的,要一格一格的去複製這個公式也不是不行,只是麻煩,而且還要再次進行加總。所以這時候就要借用另一個SUMPRODUCT函數來協助。

SUMPRODUCT本來是用來進行數個陣列的對應元素乘積總和的,不過如果我們只給他一個陣列的話,那它就會直接傳回這個陣列的總和,而且如果內容是函數的話,它會將這個函數在每個儲存格中都執行一次,因此,假設想要統計A1:B30這個範圍中,所有儲存格中的雙位元文字數量,則函數寫成

SUMPRODUCT(LENB(A1:B30)-LEN(A1:B30))

這樣就可以了。

不過要特別注意的是,文中我都是提到「雙位元文字」。雙位元的文字不只中文,還有日文、韓文等,同時,計算雙位元文字中的數量也包含了全形的標點符號。所以如果你要計算的資料中有包含雙位元的外文以及符號,還是會被計算進去的喔!

沒有留言:

張貼留言