Calc 日期「民國年月日」的處理 如何轉換為正確格式?

有一份 .ods 資料,所有日期欄位已民國年、月、日顯示。例如 (108/5/20)

此處,按 f2 開啟編輯,日期之前有個單引號 ('108/5/20),此類資料該如何轉換為正確格式?已嘗試設定,儲存格格式/日期/88/12/31。

可能的暫時解決方法:(步驟不少,是否有更簡易的方式,直接在 Calc 處理?)

  1. 選取/複製日期欄:按 control+shift+t 輸入選取座標 (b3:b50),按 control+c 複製資料。
  2. 在記事本貼上資料 control+v。
  3. 取代內容:按 control+h 在「尋找目標」輸入年度(108/),在「取代為」直接留白,按下「全部取代」。
    此時,日期資料變成只有月、日。例如 (5/20)
  4. 把這些資料貼回原有的儲存格。
  5. 按 f2 進入編輯,先前的單引號消失了。資料顯示為 (2019/05/20)

前述方法,雖然能處理同一年度民國年、月、日的問題,如果換成跨年度資料,就無法一次處理了。

系統環境

  • LibreOffice 6.2.1.2
  • Windows 6.1.7601 service pack 1

在日期欄位旁新增兩欄空白欄,選取日期整欄,然後資料>文字轉換為欄,分隔記號選其他,後面格子填入/後按確定,將資料分成三欄

D欄用Date()函式寫公式往下拉

影像描述

接著複製D欄資料,然後選擇性貼上>貼上無格式的設定文字(若有跳出文字匯入對話框,檢查偵測特殊數字要勾選),接著設定D欄儲存格格式成你要的日期格式,再把已經沒利用價值的A、B、C欄刪除

不是很懂您的問題。您是說原先日期欄位是以字串顯示,要如何快速改成日期格式嗎?

更簡單的方式:

  1. 把日期欄位選起來,按 Ctrl-X 剪下。

  2. 把這些欄位的儲存格改成日期格式(E/M/D)

  3. 在選取的左上角第一個欄位按右鍵,選擇「選擇性貼上」,選擇「無格式設定的文字」

它就會把原先剪下來的內容套用儲存格新設定的格式。

感謝 Franklin Weng 的解答。

不是很懂您的問題。您是說原先日期欄位是以字串顯示,要如何快速改成日期格式嗎?

應該是說,日期欄位都已選擇「日期」類別,並設定為「民國年/月/日」的格式 (E.G. 88/12/31)。在此情形下,格式還是無法正確轉換,而需主筆修改。

以 108/05/20 為例,如果剪下資料,重新設定日期類別,選擇「民國年/月/日」格式後,在按「選擇性貼上_無格式設定的文字」,得到結果: (0108/05/20)

這樣算是順利完成格式轉換嗎?

我本以為,系統設計,仍會再按 f2 進入編輯模式十,顯示「西元年/月/日 (」,只在顯示欄位資料時才已使用者指定的格式顯示 108/05/20 。

以上描述,如有對 Calc 用法理解錯誤,產生誤會,還請協助釐清/指證。

謝謝。

我懂你的問題了。

目前輸入年份必須是西元年,儲存格格式 E/M/D 會轉成民國年。因為在工具 → 選項 → LibreOffice → 一般設定中,還有一個年份解譯的設定,通常兩位數就預設當成西元 1930~2029 年;而輸入 108 年時,因為不是兩位數,所以它會把 108 拿去減掉 1912 (計算民國年的方式),得到 -1804 之後把年份設為 1804 年。

這個很難說是 feature 還是 bug;如果要改動可能要修改不少地方。我會試著提出 issue 並跟 UX 團隊討論。

https://bugs.documentfoundation.org/show_bug.cgi?id=113184

先前 zerng07 已經提出,我會將它標記 NeedUXEval 並討論。