甲報告服務生成csv文件和某些列(奇怪的是)具有混合的日期/時間的格式,某些行含有日期時間表示爲M/d/Y,其餘爲DMY定影MS Excel的日期時間格式
當應用= TYPE()它將返回1或2(Excel將識別文本或數字(Excel時間戳))
如何將任何一種錯誤的日期時間格式轉換爲「正常」格式可以使用並確保數據的一致性?
我在這一刻想到的2個解決方案:
- 我應該以某種方式處理與現有的Excel功能的奇數據
- 我應該問的報告中從一開始就正確生成,避免此麻煩擺在首位
感謝
甲報告服務生成csv文件和某些列(奇怪的是)具有混合的日期/時間的格式,某些行含有日期時間表示爲M/d/Y,其餘爲DMY定影MS Excel的日期時間格式
當應用= TYPE()它將返回1或2(Excel將識別文本或數字(Excel時間戳))
如何將任何一種錯誤的日期時間格式轉換爲「正常」格式可以使用並確保數據的一致性?
我在這一刻想到的2個解決方案:
感謝
當然你的第二個選擇是在中期至長期的路要走。但是,如果你需要一個解決方案,現在,如果你有機會到一個文本編輯器,它支持Perl兼容的正則表達式(如記事本++,UltraEdit的,的EditPad臨等),你可以使用下面的正則表達式:
(^|,)([0-9]+)/([0-9]+)/([0-9]+)(?=,|$)
搜索格式爲m/d/y
的所有日期,並以逗號(或在行首/結尾)包圍。
替換與
\1\3.\2.\4
,你會得到的日期格式d.m.y
。
兩種解決方案都可以使用 –
如果你不能得到再變數據,你可能不得不求助於另一列轉換日期:(假設你要更改日期在A1)
=IF(ISERR(DATEVALUE(A1)),DATE(VALUE(RIGHT(A1,LEN(A1)-FIND(".",A1,4))),VALUE(MID(A1,FIND(".",A1)+1,2)),VALUE(LEFT(A1,FIND(".",A1)-1))),DATEVALUE(A1))
它測試,看是否它可以將文本作爲日期讀取,如果失敗,則會將該字符串截斷並將其轉換爲日期,否則將嘗試直接讀取日期。無論哪種方式,它應該將其轉換爲您可以使用的日期
您的兩種解決方案都可以,但不幸的是,接受兩個答案 –
您正處於正確的軌道上!先嚐試第2點。如果失敗,請編寫一個公式來轉換不需要的日期格式! Excel有很多選項。 –
如果在記事本中打開CSV文件,日期是否不一致,或者在Excel中打開文件時發生這種情況?可能是Excel預期日期(例如)m/d/y,但是您的文件的日期爲d/m/y。 Excel將轉換它的內容(當「d」<= 12時,它被視爲一個月)並將其他文本保留爲文本。 –
Tim,我使用記事本檢查了csv,它包含不同格式的行,m/d/y和dmy,令我擔憂 –