在 Excel 的工作表的儲存格中,可能會有全型字和半型字交雜的字串,如何找出儲存格中全型字和半型字的數量呢?(參考下圖)

儲存格B2:{=SUM(--(CODE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1))>255))}

這是陣列公式,輸入完成要按 Ctrl+Shift+Enter 鍵。

以字串「123四五67八九」為例:

ROW(INDIRECT("1:"&LEN(A2)))

利用LEN(A2)找出儲存格A2的字數,該公式的結果為「ROW(1:9)」。

MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)

在陣列公式中產生 {"1","2","3","四","五","6","7","八","九"} 陣列。

--(CODE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1))>255)

利用 CODE 函數判斷文字的碼是否超過 255 者(半型字的碼小於256)。

其中的「--」,乃將判斷結果的

True/False 陣列:{False,False,False,True,True,False,False,True,True}

轉換為 1/0 陣列:{ 0,0,0,1,1,0,0,1,1 }

最後再以 SUM 函數計算 1 的個數,即為答案。

儲存格C2:{=SUM(--(CODE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1))<=255))}

原理同上。

複製儲存格B2:C2,貼至儲存格B2:C15。

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 vincent 的頭像
    vincent

    學不完.教不停.用不盡

    vincent 發表在 痞客邦 留言(2) 人氣()