(Excel)常用函數公式及操作技巧之三:
時間和日期應用
——通過知識共享樹立個人品牌。
自動顯示當前日期公式
=YEAR(NOW()) 當前年 =MONTH(NOW()) 當前月 =DAY((NOW())) 當前日
如何在單元格中自動填入當前日期
Ctrl+;
如何判斷某日是否星期天
=WEEKDAY(A2,2) =TEXT(A1,"aaaa") =MOD(A1,7)<2
某個日期是星期幾
比如2007年2月9日,在一單元格內顯示星期幾。
=TEXT(A1,"aaa") (五) =TEXT(A1,"aaaa") (星期五) =TEXT(A1,"ddd") (Fri) =TEXT(A1,"dddd") (Friday)
什么函數可以顯示當前星期
如:星期二 10:41:56
=TEXT(NOW(),"aaaa hh:mm:ss")
求本月天數
設A1為2006-8-4 求本月天數
A1=DAY(DATE(YEAR(A1),MONTH(A1)+1,0))
也有更簡便的公式:
=DAY(EOMONTH(NOW(),0)) 需加載分析工具箱。
當前月天數:
=DATE(YEAR(TODAY()),MONTH(TODAY())+1,1)-DATE(YEAR(TODAY()),MONTH(TODAY()),1)
用公式算出除去當月星期六、星期日以外的天數
=SUMPRODUCT(--(MOD(ROW(INDIRECT(DATE(YEAR(NOW()),MONTH(NOW()),1)&":"&DATE(YEAR(NOW()),MONTH(NOW())+1,0))),7)>1))
顯示昨天的日期
每天需要單元格內顯示昨天的日期,但雙休日除外。
例如,今天是7月3號的話,就顯示7月2號,如果是7月9號,就顯示7月6號。
=IF(TEXT(TODAY(),"AAA")="一",TODAY()-3,IF(TEXT(TODAY(),"AAA")="日",TODAY()-2,TODAY()-1)) =IF(TEXT(TODAY(),"AAA")="一",TODAY()-3,TODAY()-1)
關於取日期
怎么設個公式使A1在年月日向后推5年,變成2011-7-15
=DATE(YEAR(A1)+5,MONTH(A1),DAY(A1)) =EDATE(A1,12*5)
如何對日期進行上、中、下旬區分
=LOOKUP(DAY(A1),{0,11,21,31},{"上旬","中旬","下旬","下旬"})
如何獲取一個月的最大天數
"=DAY(DATE(2002,3,1)-1)"或"=DAY(B1-1)",B1為"2001-03-01
日期格式轉換公式
將 “01/12/2005”轉換成“20050112”格式
=RIGHT(A1,4)&MID(A1,4,2)&LEFT(A1,2) =YEAR($A2)&TEXT(MONTH($A2),"00")&TEXT(DAY($A2),"00") 該公式不用設置數據有效性,但要設置儲存格格式。
也可以用下列兩方法:
1、先轉換成文本, 然后再用字符處理函數。
2、[數據]-[分列] [日期]-[MDY]
將“2005年9月”轉換成“200509”格式
先用公式:
=text(a1,"yyyymm")+0
然后將單元格格式為常規。
將“2005-8-6”格式轉換為“20050806”格式
用公式:
=TEXT(A1,"YYYYMMDD")
反之,將20050806轉為日期2005-8-6格式,可用公式:
=DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2))
另四種公式:
=text(a1,"0000-00-00") 顯示:2005-08-06 =--TEXT(A1,"#-00-00"),把單元格設置為日期格式 顯示:2005-8-6 =TEXT(20050806,"0000-00-00")*1,單元格設置日期型 顯示:2005-8-6 =VALUE(LEFT(A1,4)&"-"&MID(A1,5,2)&"-"&RIGHT(A1,2)) 顯示:2005-8-6
將“20060501”轉換為“2006-05-01”格式
=DATE(LEFT(A2,4),MID(A2,5,2),RIGHT(A2,2))
將“199306”轉換為“1993-6”
公式1:=LEFT(A3,4)&"-"&RIGHT(A3,2)*1 公式2:=--TEXT(A3*100+1,"#-00-00") 公式2 需要設置單元格格式,自定義:e-m 公式3:=TEXT(TEXT(A3&"01","0000-00-00"),"e-m")
把198405轉換成1984.05
一、查找—1984,替換—1984.
二、如果全部是年月的話,我個人建議,
1、采取輔助=mid(xxxxxx,1,4) & "." & right(xxxxxx,2)
2、選中這列,用數據中的分列。然后……………
三、單元格格式/數字/自定義,類型下面輸入:####"."##
將文本“2004.01.02” 轉換為日期格式:2004-1-2
=DATE(MID(A1,1,4),MID(A1,6,2),MID(A1,9,2))
將2005-8-6轉換為2005年8月6日格式
=TEXT(A1,"yyyy""年""m""月""d""日"";@")
象22怎樣轉換成22日?轉成當年當月的日子
公式為:
=date(year(now()),month(now()),22)
將“2006年5月”轉換成“2006年05月”
公式為:
=TEXT(A8,"yyyy""年""mm""月"";@")
也可以這樣處理:選中單元格,設置單元格公式-數字-自定義,將yyyy“年”m“月”改為:yyyy“年”mm“月”,即可。但這方法打印出來顯示為:2006/5/
將“1968年6月12日”轉換為“1968/6/12”格式
=YEAR(A1)&"/"&MONTH(A1)&"/"&DAY(A1) 顯示:1968/6/12 =TEXT(A1,"yyyy/mm/dd") 顯示:1968/06/12
將“1968年6月12日”轉換為“1968-6-12”格式
=YEAR(A1)&"-"&MONTH(A1)&"-"&DAY(A1) 顯示:1968-6-12 =TEXT(A1,"yyyy-mm-dd") 顯示:1968-06-12
將1993-12-28的日期格式轉換成1993年12月
=CONCATENATE(YEAR(A1),"年",MONTH(A1),"月") =YEAR(A1)&"年"&MONTH(A1)&"月"
也可以自定義格式 [$-404]e"年"m"月"
將“1978-5-2”包含年月日的日期轉換成“197805”只有年月的格式
=year(A1)&text(month(A1),"00")
要將“99.08.15”格式轉換成“1999.08.15”如何做
選中列,數據菜單中選分列,分列過程中“格式”選“日期YMD”,結束。
要保持2005/8/6格式
當輸入2005/8/6后系統自動變成2005-8-6,要保持2005/8/6格式,可以使用強制文本(前面加'號)或使用公式
=TEXT(A1,"YYYY/MM/DD")
也可以用另一種公式:
=IF(ISERROR(TEXT(A1,"yyyy/mm/dd")),TEXT(A1,"0000!/00!/00"),TEXT(A1,"yyyy/mm/dd"))
將“二○○三年十二月二十五日”轉為“2003-12-25”格式,
1、可以用數組公式將中文日期轉化為日期系列數
{=14610+MATCH(SUBSTITUTE(A3,"元","一"),TEXT(ROW($14611:$55153),"[DBNum1]yyyy年m月d日"),0)}
該公式速度較慢。
2、改進后的公式,速度要快的多:
{=DATE(1899+MATCH(LEFT(A7,4),TEXT(ROW($1900:$2100),"[DBNum1]0000"),0),MONTH(MATCH(SUBSTITUTE(MID(A7,6,7),"元","一"),TEXT(ROW($1:$366),"[DBNum1]m月d日"),0)),DAY(MATCH(SUBSTITUTE(MID(A7,6,7),"元","一"),TEXT(ROW($1:$366),"[DBNum1]m月d日"),0)))}
要設置為1900年的日期格式。
日期格式轉換
如A列是月份數為8,B列是日期數為18,如何在C列顯示“8月18日”
=A1&"月"&B1&"日"
反之,要將C列的“8月18日” 直接分別到D、E列,顯示月份和日期,
月數份
=LEFT(C5,FIND("月",C5)-1)
日期數
=MID(C5,FIND("月",C5)+1,FIND("日",C5)-FIND("月",C5)-1)
也可分別用公式:
=month(--c5) =day(--c5)
日期格式轉換問題
輸入的日期是:04-07-26. 與另一格的"001"合並,合並出來是:040726001.
=TEXT(A1,"YYMMDD")&"001"
要想自動取得“編制日期:XXXX年X月X日”
可在該單元格輸入 ="編制日期:"&TEXT(TODAY(),"yyyy年m月d日")