陳桂鑫

近日負責匯總各部門上報的人員資料,需要把各部門上報的人員資料文檔用Excel匯總成人員記錄總表。由于各部門人員的錄入習慣不同,匯總的記錄表中單日期一列竟然同時存在三種不同的格式。除了2009/02/03、1978年5月6日等標準格式日期外,還有78.23、2009.2.25這樣的文本格式的日期和20090506、091223這類數字格式的日期。若是逐一重新輸入日期那可不輕松,還好本人多少有點經驗,總算在Excel2010中找出了兩種快速統一日期格式的方法。
一、分列法
Excel2010分列功能不僅能分列,還可以直接把列中文本、數字格式的日期統一轉換成標準日期格式。如此方便的功能大家不可不知。
打開要處理的工作表,選中日期所在的D列。切換到“數據”選項卡,單擊“數據工具”組的“分列”打開“文本分列向導”對話框。按默認設置連續單擊兩次“下一步”按鈕到第3步。再單擊選中“列數據格式”下的“日期”單選項,并單擊其后面的下拉列表從中選擇相應的年月日順序格式,例:YMD(圖1),然后單擊“完成”按鈕完成設置。現在D列中所有文本格式的78.23、2009.1.25、20090506、091223類日期內容已經全部變成標準格式的日期,原本就是標準日期格式的內容則保持不變。
轉換后原來是數值日期的單元格雖然實際上已經變成標準日期了,但顯示的仍是數字。而原來就是標準日期的09/02/03、1981年1月4日,因為一樣是日期所以格式不會變化(圖2)。這都只是單元格格式設置不同而已。最后只要選中D列,右擊選擇“設置單元格格式”,在“數值”選項卡下選擇“日期”分類設置一下格式即可統一所有日期。
二、函數法
在Excel2010中通過函數公式也能實現三種日期格式的自動統一。打開要處理的工作表,右擊E列的列標選擇“插入”,在左側插入一列(E列)并輸入列標題。選中E列右擊選擇“設置單元格格式”按需要設置好日期格式。在E2輸入公式=IFERROR(VALUE(TEXT(D2,"##00-00-00")),IFERROR(VALUE(SUBSTITUTE(D2,".","-”)),D2)) ,選中E2單元格,拖動其右下角的黑方塊(填充柄)把公式向下復制填充,即可把D列的日期轉換成統一的標準日期顯示在E列(圖3)。至于多出來的這一列,你可在日期全部處理好后隱藏D列;或者選中E列復制,以數值方式“選擇性粘貼”到D列,再刪除E列。
公式先分別用TEXT轉換數值格式日期,用SUBSTITUTE轉換文本日期。兩函數都出錯就表示是標準日期直接返回D2的值。在此,SUBSTITUTE、TEXT函數轉換成的日期雖然看起來是標準的日期格式,但實際上還是文本,所以得用VALUE再轉成數值才能被Excel識別為日期。
總的來說第一種方法最方便且不影響原表,缺點是每次匯總后都得重新進行一次分列操作有點麻煩。第二種方法可以實時自動轉換日期格式,這對于使用函數自動進行數據匯總的表格來說特別實用。只要設置好函數隱藏D列,下次改變匯總的數據源后,所有日期格式都會自動統一在E列,無需重復設置。
注意:不管用哪種方法轉換,對于兩位數的年,Excel只能自動識別為1930-2029期間的年份,如果用兩位數輸入的不是這期間的年份那最終還是得動手直接修改。