chengmou wrote:
表格上的內容是網頁複製來的,看起來都是百分比,但運算卻出了問題,小弟發現原來e欄excel不當它是數值
這是處理編碼的老問題了
(詳細請google excel char(63),有更完整的說明)
您複製的網頁編碼是unicode
複製到excel時,e欄有unicode的不可見字元,所以被excel當作文字
而記事本會自動忽略大部份的unicode不可見字元
(有點像複製圖片+文字,貼到記事本,圖片會自動不見,因為不支援就當作不存在一樣)
所以先貼到記事本,再貼回excel會正常
用函數檢查ascii code 是63,這裡有很大的問題,63不代表一個字
所有excel舊函數不認識的unicode, 都是歸類在ascii code 63
所以想用函數搜尋char(63),清除(取代)是沒作用的
如果您的excel版本夠新可用=UNICODE(RIGHT(E1,1))檢查,它的code其實是160
因位置固定、且佔了一個字元,len()可辨識,可用mid、left…等等處理
位置不固定可用=SUBSTITUTE(E1,UNICHAR(160),"")取代
還有少部份不佔字元,len()無法辨識的特殊unicode
或是它的unicode是變動故意加上去的、excel版本太舊的
就只能用記事本、其它特殊工具或vba處理




























































































