Excel技巧(2):拜託殺了那些看不見的空白吧!
看過儲存格內怎麼看明明都是數字沒錯,可是卻怎麼樣都沒有辦法用它來做任何運算吧? 就算使用很基本的公式(TRIM)、或者資料剖析的方式,始終沒有辦法有效的改正。 其實原因大多都是你的資料很有可能是從網頁上的表格複製下來,或者檔案根本就是網頁格式(Excel很聰明可以自動開啟,只是有些地方沒有處理)。 如何診斷 : 使用公式 =LEN(儲存格) 來判斷,如果你眼睛明明看到的就1個3位數的數字,理當用LEN來數把3位數字當成文字的長度,應該也是3,可是結果卻是3以上的數字。 肇因 : 儲存格除了看到的數字之外,也存在了其他「不是用鍵盤上空白鍵輸入的空白」....很像在繞口令,但文字中其實有很多沒有顯示、或者顯示跟空白相同,但是他卻不等於空白。 舉例來說:換行符號、Tab鍵(一般人非常難再儲存格中輸入TAB)、或HTML的空白 。這些都是導致該儲存格被Excel判定是文字,可是我們卻沒有辦法用取代空白的方式改變。 解法 ; 如果只有幾筆資料的話,真的!自己另外在別格看著數字重新敲一次吧。這絕對是最有效率與簡單的方法(沒開玩笑,我真的是建議幾個數字而已,手敲吧~~) 用滑鼠或鍵盤點選編輯該儲存格,在數字的前後想辦法可否選取到那看不見的空白,想辦法複製1個,再用取代的功能,用Ctrl+V貼上那看不到的空白。(一般的HTML空白是可以這麼處裡的!) 使用巨集寫成Function 或者 Sub,然後用以下的程式碼處理它。我自己是把這個類似的功能寫成Sub,然後固定儲存在個人巨集,設定快速鍵來呼叫。(改天再來寫怎麼做出個人巨集 Sub Trim_Range(selRange As Range) Dim i As Long, j As Long, cnt As Integer cnt = 0 For i = 1 To selRange.Areas.Count For j = 1 To selRange.Areas(i).Count If IsEmpty(selRange.Areas(i).Item(j).Value)...