設(shè)置
  • 日夜間
    隨系統(tǒng)
    淺色
    深色
  • 主題色

Excel 中高效率的日期數(shù)據(jù)整理方法分享

秋葉Excel 2023/2/21 21:47:09 責(zé)編:夢(mèng)澤

原文標(biāo)題:《比你笨法快 10 倍,這才是 Excel 中最牛的日期數(shù)據(jù)整理方法!》

在日常工作中,處理數(shù)據(jù)時(shí)除了查找、求和等之外,我們還會(huì)經(jīng)常與日期數(shù)據(jù)打交道。

其中我們經(jīng)常使用的函數(shù),有 Date(合并日期)、Year(獲取日期的年份)、Month(獲取日期的月份)、Day(獲取日期的天數(shù))等等。

這不,最近朋友發(fā)來一個(gè)數(shù)據(jù),是從系統(tǒng)里面導(dǎo)出來的。如下圖:

該系統(tǒng)自動(dòng)將日期與型號(hào)混在一起,現(xiàn)在需要將其中的日期提取出來。

提取規(guī)則是:

? 前三個(gè)字符代表的是月份數(shù)。

? 第 5 和第 6 個(gè)字符代表兩位年份數(shù)。

? 第 7 和第 8 個(gè)字符代表兩位天數(shù)。

提取結(jié)果如下圖:

也就是將英文表示的【月-年-日】轉(zhuǎn)換成純數(shù)字的【年-月-日】形式的日期。

問題分析

我們平時(shí)處理的日期大部分是由純數(shù)字組成的,可能很少接觸到這類英文日期。

不過一旦遇到了,我們還是要想辦法解決的,對(duì)不對(duì)?

比如前面提到的這個(gè)案例,我們可以使用下面的函數(shù)來提取出【年-月-日】形式的日期。

=DATE(MID(A2,5,2),LEFT(A2,3),MID(A2,7,2))

結(jié)果卻是錯(cuò)誤值!

為啥?接著往下看你就知道啦!

先來看下公式解析:

? 我們先用 MID (A2,5,2),提取出年份數(shù)

從該文本的第 5 個(gè)字符開始,截取 2 個(gè)字符,結(jié)果如下圖:

? 再用 LEFT (A2,3),提取出月份數(shù)

從該文本的第 1 個(gè)字符開始,截取 3 個(gè)字符,結(jié)果如下圖:

? 之后用 MID (A2,7,2),提取出天數(shù)

從該文本的第 7 個(gè)字符開始,截取 2 個(gè)字符:

? 最后用 Date 函數(shù)將【年月日】整合在一起。

=DATE(MID(A2,5,2),LEFT(A2,3),MID(A2,7,2))

看上去沒有問題呀?為什么會(huì)出現(xiàn)錯(cuò)誤值#VALUE 呢?

其實(shí),問題就出在月份是英文字母。而不是數(shù)字。

Date 函數(shù)要求【年月日】三個(gè)參數(shù)都必須是數(shù)字。(不論是文本型數(shù)字,還是數(shù)值型數(shù)字)

思路有了,下面我們就來看看怎么解決吧!

解決方案

方案 A

將英文月份轉(zhuǎn)變成數(shù)字,我們可以使用 Match 函數(shù)。

公式如下:

=MATCH("Mar",{"Jan";"Feb";"Mar";"Apr";"May";"Jun";"Jul";"Aug";"Sep";"Oct";"Nov";"Dec"},0)

公式解析:

MATCH(lookup_value, lookup_array, [match_type])

該函數(shù)有三個(gè)參數(shù):

? 查找值。

第一參數(shù):就是我們這里要查找的月份,比如:"Mar" ,

? 在哪個(gè)區(qū)域或者數(shù)組中查找。

第二參數(shù):我們需要構(gòu)造一個(gè) 1 月-12 月內(nèi)存數(shù)組:

{"Jan";"Feb";"Mar";"Apr";"May";"Jun";"Jul";"Aug";"Sep";"Oct";"Nov";"Dec"}

用 Match 函數(shù)去查找第一參數(shù)在第二參數(shù)中的位置,如果在第三個(gè),就返回 3,正好也是 3 月份的意思。

? 精確或者是模糊匹配。

第三參數(shù):輸入 0,表示精確查找。

最終我們將上面公式整合在一起,結(jié)果為:

公式如下:

=DATE(MID(A2,5,2),MATCH(LEFT(A2,3),"Jan";"Feb";"Mar";"Apr";"May";"Jun";"Jul";"Aug";"Sep";"Oct";"Nov";"Dec",0),MID(A2,7,2))

公式的第二部分由 Match 函數(shù)組成。返回?cái)?shù)字月份。

這樣結(jié)果就出來了!

但是,小伙伴有沒有發(fā)現(xiàn)年份是錯(cuò)的,Excel 自動(dòng)給我們加了 19 數(shù)字。

這個(gè)還不是我們想要的,所以我們?cè)谀攴萸懊婕由?20 即可。

公式如下:

=DATE(20&MID(A2,5,2),MATCH(LEFT(A2,3),{"Jan";"Feb";"Mar";"Apr";"May";"Jun";"Jul";"Aug";"Sep";"Oct";"Nov";"Dec"},0),MID(A2,7,2))

如果小伙伴們不想手動(dòng)輸入月份的常量數(shù)組,也可以用下面的公式:

公式如下:

=DATE(20&MID(A2,5,2),MATCH(LEFT(A2,3),TEXT(20&-ROW($1:$12),"mmm"),0),MID(A2,7,2))

其中:

TEXT(20&-ROW($1:$12),"mmm")

構(gòu)造一個(gè)英文月份的常量數(shù)組。這個(gè)公式的結(jié)果正好是上面的英文月份數(shù)組。

有興趣的小伙伴們可以參考下。

方案 B

另外,除了上面常規(guī)的套路之外,還有一種非常非常簡(jiǎn)單的方法,就是下面這種方法。

在【設(shè)置單元格格式】==》【數(shù)字】==》【日期】中,查看內(nèi)置英文日期的顯示方法。

從圖中可以看出:

英文日期的顯示方式是:【日-月-年】

我們可以通過這種方法來組合成日期形式,然后再轉(zhuǎn)換成目標(biāo)日期。如下圖:

【B2】公式如下:

=MID(A2,7,2)&"-"&LEFT(A2,6)

公式解析:

? 先用 MID (A2,7,2) 提取出天數(shù):12

? 再用 LEFT (A2,6) 提取出月和年:Mar-22

? 最后用 & 符號(hào)再連接一個(gè)日期符號(hào)「-」:12-Mar-22

日期樣式已經(jīng)組合成系統(tǒng)內(nèi)置的日期形式了。

但是,現(xiàn)在的問題是如何轉(zhuǎn)換成純數(shù)字的目標(biāo)日期呢?

其實(shí)方法很簡(jiǎn)單!

就是進(jìn)行一次數(shù)學(xué)運(yùn)算即可!如下圖:

【B2】公式如下:

=--(MID(A2,7,2)&"-"&LEFT(A2,6))

公式解析:

先使用一對(duì)括號(hào) ( ) 放在原公式的外面,再使用兩個(gè)負(fù)號(hào)(--)將其轉(zhuǎn)換為純數(shù)字日期。

就這樣一個(gè)簡(jiǎn)單的轉(zhuǎn)換就實(shí)現(xiàn)了我們的需求了,還是挺簡(jiǎn)單的吧!

寫在最后

今天,我們分享了如何將英文日期轉(zhuǎn)換為符合中國人習(xí)慣的純數(shù)字日期。

? 使用日期和文本截取函數(shù)的常規(guī)方法將【月-年-日】轉(zhuǎn)換成【年-月-日】。

? 模擬套用系統(tǒng)內(nèi)置樣式進(jìn)行轉(zhuǎn)換。

可見使用第二種方法,不僅公式非常簡(jiǎn)單,而且也大大的提高表格運(yùn)行效率。

希望小伙伴們?cè)谄綍r(shí)的工作中,可以多多留意下系統(tǒng)里面內(nèi)置的各種設(shè)置,肯定能發(fā)現(xiàn)不少好用的功能!

本文來自微信公眾號(hào):秋葉 Excel (ID:excel100),作者:明鏡在心

廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。

相關(guān)文章

關(guān)鍵詞:Excel教程,Excel學(xué)院

軟媒旗下網(wǎng)站: IT之家 最會(huì)買 - 返利返現(xiàn)優(yōu)惠券 iPhone之家 Win7之家 Win10之家 Win11之家

軟媒旗下軟件: 軟媒手機(jī)APP應(yīng)用 魔方 最會(huì)買 要知