2010年2月7日 星期日

Excel 的數字前自動加 0 (放大絕)

有時我們會拿到一些已經輸入完成的 Excel 檔案,我們想將裡面月份、日期都修改為兩位數,甚至再加以合併。

但因為檔案已經輸入完成,所以將儲存格改為文字格式已經來不及了,那怎麼辦呢?

針對上述問題,基礎篇教大家怎麼亡羊補牢,進階篇教大家利用 REPT、LEN 兩個指令將分成三欄的年、月、日資料匯整在一起。

不過進階篇提到的指令雖然讓我們對於 Excel 有更多的瞭解,但每次要將資料匯整成一格時恐怕都忘記怎麼用了,得再查閱一下文章解說才會下指令,使用上不是那麼便利。

其實要將年、月、日資料整合在同一格有更快的方法:把檔案存成 TXT 檔再讀入 Excel 即可。

底下我們先用基礎篇教的方法,先將年、月、日的儲存格格式都設定好並存檔:

然後從檔案選單中選擇『另存新檔』

存檔時,檔案格式設定為 Unicode 文字 (.txt) 檔。

雖然說存為『文字檔 (Tab 字元分隔)(*.txt)』也是可以的,但是怕實際應用時 Excel 檔內有些學生的名字用到特殊字,貯存為普通文字檔的話,那些名字會變成亂碼,所以還是貯存為 Unicode 文字檔吧,這樣特殊字都可以保留。

設定存為文字檔後,Excel 會給你警告畫面,按下『確定』就好了。

之後還會再來一個警告畫面,一樣不管它,按『是』即可。

存好後,將檔案關掉,然後再重新開啟這個 TXT 檔。

這時候就會跳出一個畫面,問我們要對這個 TXT 檔做什麼樣的處理。因為我們之前存的 TXT 檔是以 TAB 鍵來區分欄位,所以就選擇第一項『分隔符號』吧!

再來,Excel 會問我們使用的分隔符號是什麼,勾選『Tab 鍵』及『逗號』兩個選項,再按下一步。

再來就是重點了,我們要在這邊設定每一個欄位的格式。原本 Excel 內定欄位格式為『一般』,我們要將它改成『文字』。

點選一下『文字』,將第一欄的格式設定為文字。

滑鼠點選一下第二欄,也將它設為文字格式。

第三欄的日期也是相同的處理。三個欄位都將格式設定為文字之後,按下完成鍵。

你可以發現匯入的資料這時候都是以『文字』的格式貯存 (在 Office2003 以後左上角有綠色小三角型),表示這邊呈現的符號是像電話號碼一樣,是文字而不是數字,不能用來做加減乘除計算的。

因為貯存格裡面的資料是文字資料,所以要將它們匯整起來,祇要用 & 直接串接起來就可以了。

串接起來的結果完全正常:

之後利用複製的方式,將所有格子都複製好,再另存新檔為 Excel 檔案即可完工。

會有這樣的結果是因為,Excel 面對數字時,會將其前方的 0 刪除;但是面對文字時,就會把 0 保留 (總不能把電話號碼前面的 0 刪除吧?那就無法記錄了啊。) 所以我們就利用這個特性達成我們想要的結果。

那可不可以存成 CSV (*.csv) 檔再來開啟呢?

答案是不行。

因為 Excel 開啟 CSV 檔時,不會出現詢問欄位格式的畫面。而是直接將所有欄位設定為『一般』來開啟,所以前面的 0 都會被移除。

『可是,可是,別人交給我的檔案就是 .csv 啊,怎麼辦?』

沒關係,先將它的副檔名改為 .txt,這對檔案不會有影響的,祇是改副檔名而已。改好名稱後,再用 Excel 開啟它,就會出現詢問的畫面。然後依照上面的做法,將欄位都設定為『文字』就一切 OK 啦!!:D

這個方法比較取巧,但是速度比較快,實際應用上應該會比前一次介紹的更方便!大家試用看看吧!:)

Technorati : , , ,