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處理
snare wrote:
函數檢查ascii code 是63,這裡有很大的問題,63不代表一個字


感謝S大。

其實我的意思,並不是它原本是一個固定的字元,而是它被貼到excel時,被當作是一個特殊字元(ascii 63)暫時放在那........用這code 63的檢查步驟證明它不是「一個空格」的意思。而這問題也確實是樓主從網頁複製過來造成的~所以我前面也建議過,樓主是否直接貼一下資料來源的網址來看看。


snare wrote:
如果您的excel版本夠新可用=UNICODE(RIGHT(E1,1))檢查,它的code其實是160


呃,2010.....暈。檢查一下,確實是沒有UNICODE這東東,哈。

~~感謝s大..........希望樓主問題順利解決了,呵。
Der,misser1
misser wrote:
感謝S大。其實我的意(恕刪)


謝謝misser 大大及各位先進的回覆...
在%後確實有不可見的ascii字元,也不是空白,所以一直認為沒有多餘的字元,經過misser大大的推論及測試後,我也找到答案了,解決方式一種就是misser大大說的用mid把後面不可見字元cut掉,第二種是到該%後去按倒退鍵刪除那個不可見的ascii字元,這兩個測試都可以的,小弟已經解決這問題了...

謝謝各位先進大大,果然mobile01 有各路臥虎藏龍高手...
chengmou wrote:
經過misser大大的推論及測試後,我也找到答案了


雖然我是花了點時間動手找問題+思考~~但最後還是S大出手,把問題的癥結點、源由及神秘面紗揭開~~讓我們真正了解問題的核心所在,以後遇到類似問題就有機會能舉一反三,順利處理掉。

恭喜樓主問題順利解決囉~大家一起加油吧。
Der,misser1
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!