今天接到一個(gè)小姐姐Excel問(wèn)題求助,怎么計(jì)算出一個(gè)時(shí)間段里的天數(shù)?乍一聽貌似很簡(jiǎn)單,拿結(jié)束日期減開始日期就有了呀,然后她發(fā)了個(gè)截圖,我一瞅(內(nèi)心:**%%##)。 遇到問(wèn)題第一步當(dāng)然是先仔細(xì)觀察、尋找規(guī)律,這題的關(guān)鍵點(diǎn)就是怎么把單元格里和文字混在一起的日期給提取出來(lái)。 可以看出每個(gè)單元格是有共同點(diǎn)的: 1、兩個(gè)日期間是用'-’連接 2、日期結(jié)束后緊跟著':’ 有這兩點(diǎn)問(wèn)題就很好解決了,'-’可以把兩個(gè)日期分開,':’可以直接定位到日期結(jié)束的位置,不管后面有再多的文字都沒(méi)影響了。 1 獲取開始日期 最左邊的日期用文本函數(shù)left提取,left(提取的文本單元格,提取幾個(gè)字符) 這一步的難點(diǎn)在于怎么確定要提取幾個(gè)字符,日期有1位的和2位的 9/7和10/25 這樣提取的字符數(shù)就不能是固定的,這個(gè)時(shí)候'-’連接符就發(fā)揮了大作用,只要能定位到'-’符號(hào)左邊一位就行。 先找到'-’符號(hào)的位置,可以使用find函數(shù),find(查找的字符,在哪個(gè)單元格找,[第幾位開始]),在B2單元格輸入=FIND("-",A2) 注意括號(hào)里的雙引號(hào) 可以看到“-”符號(hào)是在單元格的第4位,只要需要提取到前面一位就是第一個(gè)日期的整個(gè)位置了,補(bǔ)充公式 =LEFT(A2,FIND("-",A2)-1) 。FIND("-",A2)-1 就是在“-”符號(hào)的前一位 2 獲取結(jié)束日期 在一串字符中截取中間部分需要用到mid函數(shù)。mid(文本單元格,第幾位開始截取,截取幾位),根據(jù)圖例代公式 =mid(A2, '-’符號(hào)后一位開始截取,':’號(hào)前一位截止),MID(A2,FIND("-",A2)+1,':’號(hào)前一位截止),最后一個(gè)參數(shù)也是個(gè)難點(diǎn),F(xiàn)IND(":",A2)找到的是':’所在的位置,變成截取幾位的參數(shù)還需要個(gè)轉(zhuǎn)化,用找到':'的位置 減去 找到'-’的位置,就是要截取的截取的結(jié)束日期的個(gè)數(shù)了,F(xiàn)IND(":",A2)-(FIND("-",A2)+1),完整的公式就是 =MID(A2,FIND("-",A2)+1,FIND(":",A2)-(FIND("-",A2)+1)) 3 日期相減出天數(shù) 上面已經(jīng)獲取到了結(jié)束日期和開始日期,接下來(lái)讓兩個(gè)日期相減 結(jié)束日期-開始日期+1 (如果包含當(dāng)天就+1),代入公式如下 =MID(A2,FIND("-",A2)+1,FIND(":",A2)-(FIND("-",A2)+1))-LEFT(A2,FIND("-",A2)-1)+1 這里會(huì)存在一種特殊情況就是跨年,因?yàn)樘崛〉降娜掌跊](méi)有顯示年份系統(tǒng)會(huì)默認(rèn)識(shí)別為同一年,如果出現(xiàn)12/20-1/7 這種,結(jié)束時(shí)間1/7 就會(huì)小于 開始時(shí)間12/20(同年),所以還要加上一個(gè)判斷,如果兩個(gè)日期相減為負(fù)數(shù)就再加一個(gè)365,最終公式如下 =IF(MID(A2,FIND("-",A2)+1,FIND(":",A2)-(FIND("-",A2)+1))-LEFT(A2,FIND("-",A2)-1)+1<0,MID(A2,FIND("-",A2)+1,FIND(":",A2)-(FIND("-",A2)+1))-LEFT(A2,FIND("-",A2)-1)+1+365,MID(A2,FIND("-",A2)+1,FIND(":",A2)-(FIND("-",A2)+1))-LEFT(A2,FIND("-",A2)-1)+1) 以上就是本次的案列說(shuō)明,可以多練習(xí)幾次,舉一反三熟悉文本函數(shù)的應(yīng)用。 |
|
來(lái)自: Excel簡(jiǎn)單學(xué) > 《待分類》