EXCEL得到提前一个月的日期函数

比如日期根据20111010 得到日期20110910
20121212 20121112

EXCEL函数 需要批量生成提前一个月的日期

一、假设日期写在A1单元格,要在B1单元格得出该日期前一个月的日期,则可以在B1单元格写入公式

 

公式一

=DATE(YEAR(A1),MONTH(A1)-1,DAY(A1))

 

公式二

=EDATE(A1,-1)

再设置单元格格式为日期格式中的一种。

 

二、相关函数的定义

 

(1)DATE函数

返回代表特定日期的序列号。如果在输入函数前,单元格格式为“常规”,则结果将设为日期格式。

语法

DATE(year,month,day)

Year    参数 year 可以为一到四位数字。Microsoft Excel 将根据所使用的日期系统来解释 year 参数。默认情况下,Microsoft Excel for Windows 将使用 1900 日期系统,而Microsoft Excel for Macintosh 将使用 1904 日期系统。

 

Month  代表每年中月份的数字。如果所输入的月份大于 12,将从指定年份的一月份开始往上加算。例如:DATE(2008,14,2) 返回代表 2009 年 2 月 2 日的序列号。

 

Day    代表在该月份中第几天的数字。如果 day 大于该月份的最大天数,则将从指定月份的第一天开始往上累加。例如,DATE(2008,1,35) 返回代表 2008 年 2 月 4 日的序列号。

说明

    Microsoft Excel 可将日期存储为可用于计算的序列号。默认情况下,1900 年 1 月 1 日的序列号是 1 而 2008 年 1 月 1 日的序列号是 39448,这是因为它距 1900 年 1 月 1 日有 39448 天。Microsoft Excel for the Macintosh 使用另外一个默认日期系统。

    函数 DATE 在年、月、日为变量的公式中非常有用。

 

 

(2)YEAR函数

返回某日期对应的年份。返回值为 1900 到 9999 之间的整数。

语法

YEAR(serial_number)

Serial_number    为一个日期值,其中包含要查找年份的日期。应使用 DATE 函数来输入日期,或者将日期作为其他公式或函数的结果输入。例如,使用 DATE(2008,5,23) 输入 2008 年 5 月 23 日。如果日期以文本的形式输入,则会出现问题。

说明

Microsoft Excel 可将日期存储为可用于计算的序列号。默认情况下,1900 年 1 月 1 日的序列号是 1 而 2008 年 1 月 1 日的序列号是 39448,这是因为它距 1900 年 1 月 1 日有 39448 天。Microsoft Excel for the Macintosh 使用另外一个默认日期系统。

由 YEAR、MONTH 和 DAY 函数返回的值是 Gregorian 值,不管所提供的日期值是怎样的显示格式。例如,如果所提供的日期值显示格式是 Hijri,YEAR、MONTH 和 DAY
函数返回的值将是对应 Gregorian 日期的值。

 

 

(3)MONTH函数

返回以序列号表示的日期中的月份。月份是介于 1(一月)到 12(十二月)之间的整数。

语法

MONTH(serial_number)

Serial_number    表示一个日期值,其中包含要查找的月份。应使用 DATE 函数来输入日期,或者将日期作为其他公式或函数的结果输入。例如,使用 DATE(2008,5,23) 输入2008 年 5 月 23 日。如果日期以文本的形式输入,则会出现问题。

说明

Microsoft Excel 可将日期存储为可用于计算的序列号。默认情况下,1900 年 1 月 1 日的序列号是 1 而 2008 年 1 月 1 日的序列号是 39448,这是因为它距 1900 年 1 月 1 日有 39448 天。Microsoft Excel for the Macintosh 使用另外一个默认日期系统。

由 YEAR、MONTH 和 DAY 函数返回的值为公历值,而不用考虑所给日期值的显示格式。例如,如果所给日期值的显示格式为 Hijri,则 YEAR、MONTH 和 DAY 函数的返回值将是与等价的公历日期相关的值。

 

(4)DAY函数

返回以序列号表示的某日期的天数,用整数 1 到 31 表示。

语法

DAY(serial_number)

Serial_number    为要查找的那一天的日期。应使用 DATE 函数来输入日期,或者将日期作为其他公式或函数的结果输入。例如,可使用函数 DATE(2008,5,23) 输入日期 2008 年 5 月 23 日。如果日期以文本的形式输入,则会出现问题。

说明

Microsoft Excel 可将日期存储为可用于计算的序列号。默认情况下,1900 年 1 月 1 日的序列号是 1 而 2008 年 1 月 1 日的序列号是 39448,这是因为它距 1900 年 1 月 1 日有 39448 天。Microsoft Excel for the Macintosh 使用另外一个默认日期系统。

不论日期值以何种格式显示,YEAR,MONTH 和 DAY 函数返回的值都是 Gregorian值。例如,如果日期的显示格式是回历,则 YEAR、MONTH 和 DAY 函数返回的值将是与相同的 Gregorian 日期相关联的值。

 

 

(5)EDATE函数的定义

返回代表指定日期 (start_date) 之前或之后用于指示月份数的日期的序列号。使用函数 EDATE
可以计算与发行日处于一月中同一天的到期日的日期。

如果该函数不可用,并返回错误值 #NAME?,请安装并加载“分析工具库”加载宏。

语法

EDATE(start_date,months)

Start_date    为一个代表开始日期的日期。应使用 DATE 函数来输入日期,或者将日期作为其他公式或函数的结果输入。例如,使用函数 DATE(2008,5,23) 输入日期 2008 年 5 月 23 日。如果将日期以文本的形式输入,则会出现问题。

Month    为 start_date 之前或之后的月数。正数表示未来日期,负数表示过去日期。

说明

    Microsoft Excel 可将日期存储为用于计算的序列号。默认情况下,1900 年 1 月 1 日的默认序列号是 1 而 2008 年 1 月 1
    日的默认序列号是 39448,这是因为它距 1900 年 1 月 1 日有 39448 天。Microsoft Excel for the Macintosh
    使用另外一个默认日期系统。

    如果 start_date 不是有效日期,函数 EDATE 返回错误值 #VALUE!。

    如果 months 不是整数,将截尾取整。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16
假设原日期是在A列
B1输入
=date(year(a1),month(a1)-1,day(a1))
这样下拉填充

前提是你的A列必须是标准日期,别用什么数字,文本之类的。如果公式不好用,表示你的A列不是excel认可的日期格式,使用数据,分列,下一步,下一步,列数据格式,勾选“日期”,完成,转化一下,公式就可以用了追问

你随便建立一个工作表试一试,确定可以,好像不行啊

追答

excel认可的日期格式是
在编辑栏里看到的是以/分隔,比如2011/10/10
这样的,才是。
这种问题我每天回答N次,如果你搞不定,加我扣63639139,只用文字表达,估计很难讲明白了

追问

好的

本回答被提问者采纳
第2个回答  2011-11-04
假设:A1是根据的日期,B1是得到的日期
可在B1单元格输入公式:=YEAR(A1)&"-"&MONTH(A1)-1&"-"&DAY(A1)
用鼠标拖动自动填充其他单元格,达到批量生成。
相似回答