如何處理 Excel 中以文字形式儲存的日期的問題很常見,答案也很常見。但誰能解釋一下為什麼它發生了——特別是,這是誰的「錯」?
我使用一個可以將財務報告匯出到Excel的工具,結果Excel資料中的日期有這個問題。但是問題是否是由於工具未合理導出而引起的?或者 Excel 是否有什麼奇怪的地方使得這個看似簡單的數據表示工作變得非常困難?
我傾向於前者並歸咎於導出工具。我以為它應該導出的是日期的Excel序號。 (當然,Excel 可能仍然需要被告知顯示作為日期,但至少數據是準確的。與根據我使用的任何格式選項格式化的日期相對應的字串(在匯出工具中)。例如,我以大端 ISO 8601 格式顯示日期,其中今天為 2019-09-27。所以我認為該工具應該將其匯出到 Excel 作為數位43735.0。但事實並非如此。相反,我在相關 Excel 單元格中找到的實際上是十個字符細繩,「2019-09-27」。
事實是,Excel 確實知道如何自行處理這個問題——如果你嘗試一下的話。因此,如果我選擇填充字串的單元格,將遊標放在內容最右端的公式欄中,然後按回車鍵,那麼文字會立即被重新解釋為日期,字串將被替換為適當的序號,它甚至被格式化作為日期(儘管不是 yyyy-mm-dd ——而是根據我的區域設定採用預設格式)。
那麼,罪魁禍首是匯出工具還是 Excel?
(如果是 Excel...好吧,那又怎樣。但如果是工具,那麼有人就會在耳朵上戴上手銬。請允許我取消上述手銬。)
答案1
那麼,罪魁禍首是匯出工具還是 Excel?
總而言之, 兩個都。
- 任何建立 Excel 格式檔案(xls、xlsx 等)的匯出實用程式都應該使用 Excel 格式,但太多的實用程式不這樣做,我們都必須承受後果。袖帶藥局已獲得授權。
但探戈確實需要兩個人...
- Excel 因難以處理 CSV 檔案而享有盛譽。大多數人透過雙擊檔案在 Excel 中開啟 CSV。這是可以理解的,因為這就是我們習慣透過重複來做到這一點的方式。這也是錯的。 Excel 會對以這種方式開啟的檔案做出假設,但通常效果不佳。正確的方法是開啟 Excel,然後從資料標籤匯入 CSV。這使您有機會明確聲明資料類型和格式。它比雙擊更麻煩,但它解決了人們抱怨的許多問題。 Excel 並非無可指責,但在大多數情況下,需要拷問的是使用者。
當知識較少的人負責編輯 CSV 時,經常會出現一個有趣的煩惱循環。他們透過雙擊打開文件,進行編輯,抱怨如何修復日期和貨幣,將文件另存為 CSV,然後在打開文件進行檢查後發現他們丟失了所有格式更改,然後大發雷霆。他們常常會重複同樣的過程二、三、誰知道多少次了!
他們希望 CSV 檔案保留 Excel 的格式,但這永遠不會發生。即使是在 Excel 中編輯過的 CSV 也必須匯入回 Excel。有時很難說服他們,因為他們知道他們改變了日期格式。我特別喜歡這樣的時光,當我在記事本中打開格式完美的 CSV 並看到他們開始計算在一個不存在的問題上浪費的時間時臉上的表情。其中聰明的人給自己戴上手銬,其他人不值得戴上手銬。