(Excel)常用函数公式及操作技巧之三:时间和日期应用

 

(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")

求本月天数

A12006-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))

显示昨天的日期

每天需要单元格内显示昨天的日期,但双休日除外。

例如,今天是73号的话,就显示72号,如果是79号,就显示76号。

=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列是月份数为8B列是日期数为18,如何在C列显示“818  

=A1&"月"&B1&"日"

 

反之,要将C列的“818 直接分别到DE列,显示月份和日期,

月数份

=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(),"yyyymd")

 

posted @ 2012-02-08 16:36  .NET快速开发框架  阅读(66774)  评论(0编辑  收藏  举报