Excel 技巧

Excel 把 JAN1 或 1-2 變成日期?匯入 CSV 前先控制自動轉換

Excel 開啟 CSV 時可能把 JAN1、1-2 或 123E5 當成日期與科學記號;保留原始檔,依版本關閉自動轉換或在匯入時指定文字欄位。

撰文: ToolboxHub 編輯部 資料查證日期: 4 分鐘閱讀 1630 字

Excel 把 JAN1、1-2 或 123E5 變成日期、分數或科學記號時,先關閉檔案而且不要儲存,保留一份從未被 Excel 覆寫的原始 CSV。真正的修正點在匯入前的欄位型態,不是事後把已改變的顯示格式換回「一般」。

先把代碼與真正的日期、數字分開

只有不參與日期運算或算術的欄位才應整欄當成文字,不能為了阻止一個誤判就把所有欄位都改成文字。例如零件表中的 JAN1 是一月第一批的料號、1-2 是貨架位置、123E5 是測試樣本代碼;同一份檔案裡的出貨日、單價與數量仍應保留可運算型態。

先向資料提供者確認每一欄的定義,再挑三種驗收樣本:一筆連續英數代碼、一筆含連字號或斜線的代碼,以及一筆含字母 E 的代碼。另記下原始字串長度與預期列數。若 Excel 已經把 JAN1 儲存成日期序號,畫面改成文字只會顯示那個序號,無法推回原字串。

Microsoft 365 與 Excel 2024 可先控制自動資料轉換

目前 Microsoft 的詳細可用性說明把 Automatic Data Conversions 限定在 Excel for Microsoft 365 與 Excel 2024,並列出相應的 Mac 版本。這些版本可到 File > Options > Data 檢查 Automatic Data Conversion,依資料規格停用移除前導零、把 E 周圍數字轉成科學記號,以及把連續英數轉成日期等項目。

Microsoft 的資料匯入選項說明也指出,CSV 載入時可顯示即將發生自動轉換的通知。通知適合用來阻止這一次錯誤開啟,但不能取代欄位定義。JAN1 這類連續英數可受設定影響;含空格或分隔符號的日期外觀文字仍可能被視為日期,因此 1-2 這類代碼仍應在受控匯入時明確指定為 Text。

不要把這個開關延伸宣稱為 Excel 2021、2019 或 2016 都有。Microsoft 的「保留前導零與長數字」頁面雖涵蓋這些舊版的其他處理方式,但特別把自動資料轉換功能標為 Microsoft 365 與 Excel 2024 可用。

找不到開關時,從文字或 CSV 匯入並指定 Text

Excel 2021、2019、2016,或介面沒有該項目的安裝版本,應建立空白活頁簿,再從 Data > From Text/CSV 選取原始副本。Microsoft 目前的文字與 CSV 匯入頁面把這個流程列在 Excel for Microsoft 365、Excel 2024、2021、2019 與 2016 的適用範圍內。

在預覽確認分隔符號、編碼和表頭後,選 Transform Data 或目前版本顯示的同類編輯入口。只把料號、位置碼、分類碼等欄位設為 Text,再載入工作表。若功能區名稱不同,使用 Excel 內建搜尋找「From Text/CSV」或查目前版本的 Microsoft 說明,不要假定每個更新通道都有相同按鈕。

直接雙擊 CSV 會讓 Excel 依預設資料格式解讀每一欄,正是這類代碼容易在看見預覽前被改變的情境。也不要把 .csv 改名成 .xlsx;改副檔名不會轉換內容,還可能讓應用程式誤判檔案格式。

用獨立預覽做抽查,但回到 Excel 才能修正

CSV / Excel 線上預覽可以在瀏覽器開啟 CSV、TSV、XLSX 或 XLS,切換工作表、搜尋資料,並查看表頭與列欄數。它最多在畫面呈現 500 筆符合搜尋的資料列,適合尋找前、中、後段的已知代碼,但不是原始位元檢查器。

這個工具不會設定 Excel 欄位型態、編輯儲存格、重算公式或覆寫活頁簿。它的匯出按鈕會從目前工作表資料建立另一個 data.csv,而搜尋條件不會變成匯出篩選。若預覽也顯示轉換後的值,應回到未經任何試開或另存的來源;不能期待預覽器猜回已遺失的字元。

含客戶、員工或內部料號的檔案,仍要遵守組織的資料處理規則。無法允許瀏覽器工具處理時,就在受管理的 Excel 環境內以相同抽樣方法檢查。

儲存與交付前重新打開實際輸出檔

驗收要針對最後準備交付的檔案,而不是只看匯入中的工作表。先另存一份 XLSX 工作檔,保留原始 CSV;若還要輸出 CSV,再打開那個實際輸出檔,核對表頭、列數、分隔符號與三筆已知代碼。

Microsoft 說明指出,CSV 是文字格式,只保存目前工作表的文字和值,無法保留所有活頁簿功能。確認日期欄仍可正確排序、數量與金額仍可加總,同時檢查 JAN1、1-2、123E5 和有前導零的代碼沒有被改寫。若任一樣本失敗,停止交付並從原始副本重新匯入。

常見問題

關閉自動資料轉換後,1-2 一定不會變日期嗎?

不一定。Microsoft 特別說明連續英數的轉換控制,但含分隔符號的日期外觀文字仍可能被判定為日期。可靠做法是在匯入預覽中把該欄指定為 Text,並抽查實際結果。

Excel 2021 找不到 Automatic Data Conversions 是故障嗎?

不代表故障。Microsoft 目前把這組控制的特定可用性列為 Microsoft 365 與 Excel 2024;Excel 2021、2019、2016 應改用能指定欄位型態的文字或 CSV 匯入流程。

已經變成日期的代碼可以把格式改成文字救回嗎?

通常不能。格式只改變目前值的呈現方式,不知道原始字串。請關閉錯誤結果,回到未被覆寫的 CSV,再以 Text 型態匯入。

ToolboxHub 可以直接修正 XLSX 或 CSV 嗎?

不可以。CSV / Excel 線上預覽只解析並顯示你選擇的檔案,也能另建目前工作表的 CSV;它不會編輯、儲存或修復來源檔。

預覽中的三筆代碼正確就能交付嗎?

還不夠。仍要核對實際輸出檔的列數、欄位順序、日期與數值運算,以及更多邊界樣本。抽查能提早發現問題,但不等於全檔驗證。

參考資料