返回列表 上一主題 發帖

[發問] 如何判斷是否 全形字?

回復 10# sunnyso


    請問你怎樣找出這些字?
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 11# ML089

廣東話(粵語)口語字
ss

TOP

本帖最後由 ML089 於 2013-5-8 14:39 編輯

我認為 ASCII CODE 0~255 為單字元,其他以外都稱為雙字元比較簡單
單字元特性 LEFT()與LEFTB()取值應該相同
用 =LEFTB(A2)<>LEFT(A2) 來判斷TRUE為雙字元,FALSE為單字元


於實務上運用範例
R3 ="氹仔澳A1??"
有4個全型字, 注意 "氹" 特別字元 LENB()=1

計算全型字公式
=SUMPRODUCT(--(MID(R3,ROW(1:9),1)<>LEFTB(MID(R3,ROW(1:9),1))))
=4
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復 13# ML089

感謝大大, 這是最簡潔 的判斷。
ss

TOP

請教前輩,程式在執行時遇到全形或半形字會出現不同的結果嗎?

TOP

參考看看:
=BIG5(A2)=A2

大凡〔特殊字.罕用字.自造字〕:
CODE為63,LENB為1,
放在VBE時,顯示"?"
較常見字,如:〔堃〕

TOP

回復 16# 准提部林

BIG5 函數將半形字元轉換成全形 (雙位元組) 字元
A2為一個字元情況判斷是否為 全字型
用  =BIG5(A2)=A2 來判斷也是好方法,但仍需注意空字元 "" 及空格的判斷
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

又長知識了
謝謝
ss

TOP

計算〔全型字〕字元數:
A1:氹堃仔澳A12135k??
B1:=LEN(A1)+LENB(A1)-LENB(BIG5(A1))

以前從沒考慮特殊文字,此題出得好!

TOP

本帖最後由 ML089 於 2013-5-21 21:36 編輯

回復 19# 准提部林


    讚讚讚!
    這應該是創新公式

註解一下,以免日後要忘記
B:全型字數
S:半型字數
B1:=LEN(A1)+LENB(A1)-LENB(BIG5(A1))
B1:=B+S + B*2+S - (B*2 + S*2)
B1:=B + (B*2+S*2) - (B*2 + S*2)
B1:=B
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

        靜思自在 : 一個人的快樂.不是因為他擁有得多,而是因為他計較得少。
返回列表 上一主題