一、假设日期写在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 不是整数,将截尾取整。
假设原日期是在A列
B1输入
=date(year(a1),month(a1)-1,day(a1))
这样下拉填充
前提是你的A列必须是标准日期,别用什么数字,文本之类的。如果公式不好用,表示你的A列不是excel认可的日期格式,使用数据,分列,下一步,下一步,列数据格式,勾选“日期”,完成,转化一下,公式就可以用了
假设:A1是根据的日期,B1是得到的日期
可在B1单元格输入公式:=YEAR(A1)&"-"&MONTH(A1)-1&"-"&DAY(A1)
用鼠标拖动自动填充其他单元格,达到批量生成。