今天被网友差点问倒,有人问了我要怎么将全形文字都变成半形,这个倒是简单,有函数就能简单达成,但后面追问了我,那如果他是英数混合内容,但只有数字要变成半形怎么办? 我思维了半天在想怎么做,最后好不容易解了出来,这还真的没有比较简单的做法,到底要怎么做呢? 往下就来分享今天的 Excel 教程吧,真的蛮难的…
Excel 教程 – 全形文字变半形
来,说明一下,最基本的课题像这样,全形文字,要怎么转成半形,我们往下来看。

要转成半形非常之简单,只要利用 ASC 这个函数,比如像是 A2 的文字,公式如下:
=ASC(A2)
这样就搞定了,是不是很简单,不过真正难的来了,再往下来看看我差点被问倒的。

要怎么把英数混合内容变成半形? 这我真的想了很久要怎么做,最后弄了一个比较土法练钢的公式串,如下:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,”0”,”0″),”1”,”1″),”2”,”2″),”3”,”3″),”4”,”4″),”5”,”5″ ),”6”,”6″),”7”,”7″),”8”,”8″),”9”,”9″)
我原本是想要思维着,将文字全拆开后,再各字转成半形再合并,但这样好像有点麻烦,还要列阵还要好几层叠一叠,后来我觉得单纯用SUBSTITUTE这个函数来做,这函数的公用是取代文字串里的内容,虽然公式看起来很长,不过这重点就是每个字符串做十次,从0取代到9,稍微土法链钢一点,但结论来说是完美的。
但如果你是想要单纯取代掉英文变成半形,那我就摊手了,如果用上面这方式,不是不行,只是就是 26 个字母大小写加起来你总共要写 52 层的公式,应该会死掉啊….
