對于數據分析,數據源的整理和清晰往往是最初始也是最重要的一步。大多數場景下,數據源基本都是從某些應用的后臺數據庫導出的,那么就數據源中某些字段的數據格式就和應用,數據庫,導出所在路徑的系統有關。有的時候某種類型的數據在不同的系統環境中會呈現出不同的格式和遇到不同的問題。比如下面這個截圖中的日期格式就來自于某系統后臺數據庫中的相同字段(字段可以理解為列標題)。(幾萬行數據的局部)
從截圖中的日期格式可以出源系統中的日期格式應該有兩種類型組成: 1. dd-mm-yyyy 2 dd/mm/yyyy.
導出到excel之后dd-mm-yyyy 這種格式的日期并沒有被識別成日期。
而dd/mm/yyyy. 這種格式的日期被excel識別成日期excel中特殊日期excel中特殊日期,但是格式變成了 mm/dd/yyyy。但并不準確,excel只是根據默認的日期格式(,如下圖)粗暴的就把數據源的日期格式直接識別過去了。以AM2單元格為例, 6/10/2020 是日期格式,表示2020年6月10日。 可是數據源原本要表示的是 2020年10月6日。
對于這列數據的整理,要多些曲折。
1首先我們先把 這列中的 “-” 都替換成 “/".
2 需要把這列當中將- 替換成 /的文本格式的日期 dd/mm/yyyy ,轉換成 mm/dd/yyyy。
這一步我們現需要通過篩選把靠左的那些值篩選出來。也就是把文本篩選出來。其實很簡單,篩選是不選擇識別出的日期就行了。
接下來我們需要 文本函數來幫忙:=MID(AM5,4,2)&"/"&LEFT(AM5,2)&"/"&MID(AM5,7,4) (然后下拉復制公式)
3 接下來開始整理excel識別有誤的日期格式。這些被識別出來的日期格式數據,我們是沒有辦法用上一步的文本函數取操作的。 那我們需要換個思路就是把識別有誤的日期格式數據轉換成文本格式。 :=TEXT(AM2,"dd/mm/yyyy")
4 去掉所有列的篩選。輔助列的所有日期形式的數據從表面上看就可以表達 mm/dd/yyyy了,但是整理還沒有結束這些數據雖然表面是一種形式,但是實際上還是有文本有日期數據類型。
5 ,選中輔助列,然后全列重新設置為日期格式。
6 然后我們選中AN列并copy全列,并僅將值粘貼回來。
7 然后再全選AN列,并將AN列以空格為間隔進行分列 Text to 。。這樣AN列將的到全部正確的日期格式數據。