iT邦幫忙

0

2016 MS EXCEL 消除檔案的空白字元

各位大大好~
小弟有一份excel問題請教, 資料內容都沒有空白字元, 而使用Max/Min函式判斷結果為0
https://ithelp.ithome.com.tw/upload/images/20180130/20108569MrkGbmrawd.png

後來發現複製內容到記事本, 資料的前/後會產生空白字元...
https://ithelp.ithome.com.tw/upload/images/20180130/20108569B4uoYo88RV.png
嘗試修改記事本內容並回貼excel, Max/Min函式判斷即可得到數值.
https://ithelp.ithome.com.tw/upload/images/20180130/20108569CVAx1SJbRu.png

因測試版的資料量小, 請問若資料量很大時, 有什麼方式能解決?
在此附上原始excel檔連結:https://drive.google.com/file/d/1ZHZwrTUhoi27JgrObXFScTuDa1owNUkv/view

謝謝~

魷魚 iT邦新手 1 級 ‧ 2018-01-31 08:57:46 檢舉
我直接刪掉再重打數字就正常了耶,這檔案是程式匯出的還是空白檔案打出來的啊@@"
魷魚 iT邦新手 1 級 ‧ 2018-01-31 09:11:45 檢舉
應該是裡面有"非列印字元",你可以搜尋一下,網路上蠻多教學的
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
城市駐腳
iT邦新手 5 級 ‧ 2018-02-01 08:47:06
最佳解答

=TRIM(SUBSTITUTE(D2,RIGHT(D2),""))

joe_lin iT邦新手 5 級 ‧ 2018-02-01 18:00:08 檢舉

這公式看起來有效果, 但數值好像無法抓取最大/最小. 數值都會顯示0.
https://ithelp.ithome.com.tw/upload/images/20180201/201085697PlsmaWZcs.png

轉數字即可
=VALUE(TRIM(SUBSTITUTE(D2,RIGHT(D2),"")))

joe_lin iT邦新手 5 級 ‧ 2018-02-02 18:52:37 檢舉

YA~ 能使用了! 非常感謝這位大大的幫忙./images/emoticon/emoticon12.gif

0
小魚
iT邦大師 1 級 ‧ 2018-01-30 19:27:44

尋找與取代可以嗎?

joe_lin iT邦新手 5 級 ‧ 2018-01-30 23:57:35 檢舉

有試過,但行不通.

0
fantastblue
iT邦新手 5 級 ‧ 2018-01-31 08:53:48

這個問題我也有遇過,可以參考微軟SUPPORT這篇文章。
https://support.microsoft.com/zh-tw/help/2778422
希望對你有幫助。

0
捷客
iT邦新手 4 級 ‧ 2018-01-31 10:15:22

資料的前後有一些不會顯示的 ascii 字元,資料的前後個有兩個字元,所以造成excel 的數值轉換函數也都無法使用,

你可以這樣解決
在 E2 下 =value(Mid(D2,3,len(D2)-2)

先把前後兩個字元捨棄,再轉換為數值格式, 這樣E2 就會是數值的 1.447

就可以運算了

五十男 iT邦研究生 5 級 ‧ 2018-01-31 11:09:17 檢舉

=TRIM(D2)

捷客 iT邦新手 4 級 ‧ 2018-01-31 11:20:14 檢舉

如果不是空白字元呢?
如果真是空白字元,小魚所講的尋找與取代,就應該能有效果了
試過使用 clean/trim 函數,無效.....

重要: TRIM 函數是專門設計來修剪文字中的 7 位元 ASCII 空白字元 (值 32)。在 Unicode 字元集中,有一個稱為不分行空白字元且具有十進位值為 160 的額外空白字元。此字元常用於網頁以作為 HTML 實體  。就其本身而言,TRIM 函數不會移除此不分行空白字元

移除文字中所有無法列印的字元。當您從其他應用程式,匯入其中可能包含您作業系統無法列印之字元的文字時,就可使用 CLEAN。例如,您可以使用 CLEAN 來移除某些低階電腦程式碼,這些程式碼通常位於資料檔的開頭和結尾,並且無法列印。

joe_lin iT邦新手 5 級 ‧ 2018-01-31 20:11:47 檢舉

您好, 不好意思! 我有試著貼上 =value(Mid(D2,3,len(D2)-2)公式, 但它抓取數值好像有點問題.
請問是我操作錯誤嗎?
https://ithelp.ithome.com.tw/upload/images/20180131/20108569pPqQgb6TdM.png
謝謝~

1
棉花
iT邦新手 4 級 ‧ 2018-02-01 11:35:12

把記事本的資料用Hex模式開啟,得到下列結果
https://ithelp.ithome.com.tw/upload/images/20180201/20108031DbNTMhvWh5.jpg

這應該不是ascii字元

用C2 A0丟去餵狗,發現這應該是UTF-8的不換行空格
https://en.wikipedia.org/wiki/Non-breaking_space


至於解決方法

  1. 開啟尋找與取代 (ctrl+H)

  2. 在"尋找目標"的欄位,按住Alt,輸入0160
    輸入完後尋找目標會出現一個像空格的東西
    https://ithelp.ithome.com.tw/upload/images/20180201/20108031urK8YyU6Wt.jpg

  3. 直接按下"全部取代"

我這樣弄完後就能正常計算數值了

看更多先前的回應...收起先前的回應...
joe_lin iT邦新手 5 級 ‧ 2018-02-01 18:04:44 檢舉

我有照著做, 第二步就卡住了. 按住Alt + 輸入0160 (沒反應)
我是使用excel 2016版本, 這會有差嗎?

棉花 iT邦新手 4 級 ‧ 2018-02-02 08:09:50 檢舉

沒反應是指尋找目標那個欄位沒有字出現嗎?
如果是的話,那是正常的

另外,第二步那個像空格的東西是在輸入完後放開Alt才會出現

棉花 iT邦新手 4 級 ‧ 2018-02-02 08:28:00 檢舉

至於版本的問題,我沒買office 2016,所以沒辦法測
不過我在2007、2013上都可以正常執行

joe_lin iT邦新手 5 級 ‧ 2018-02-02 19:07:10 檢舉

感謝這位大大的協助.

我要發表回答

立即登入回答