怎样在EXCEL中将列中的年份都减1

如下图

只将年份减去1.其它不变。本人EXCEL用的少,那个公式在网上找了一个“=DATE(YEAR(A2)-1,MONTH(A2),DAY(A2))”
但结果却是下图这样了,

所以请麻烦详细解答。非常感谢啊!

工具:2010版excel

1、先打开excel,以下图为例,需要在B列中显示想要的结果;

2、选中B1单元格并输入公式“=DATE(YEAR(A1)-1,MONTH(A1),DAY(A1))”;

3、按下回车键后就可以得出想要的结果了;

4、再次选中B1单元格,然后鼠标移动到右下角下拉填充公式就可以在B列的单元格中都显示出结果了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-03

假设日期写在A列,从A1单元格开始的日期,想得出该日期1年前的日期,

则可以在B1单元格写入公式:

公式一

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

如图:

公式二

=EDATE(A1,-12)

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

如图:

 

下拉填充公式就能得出整列的日期为一年前的日期。

 

 

注: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 不是整数,将截尾取整。

第2个回答  2013-11-10

这个简单,你直接按ctrl+f 调出查找/替换窗口,然后查找内容中输入“2014”,替换为输入“2013”,点击全部替换就OK了

追问

这个方法到是可行,但是上面的截图都是2014。如果年份不是一样的如1999,2015,2000呢。

第3个回答  2013-11-10

先将目标单元格的格式选为"日期"格式,然后直接用公式就好了!

(Ctrl+1,再选"日期")

第4个回答  2013-11-10
该提问中,在网上找到的公式就是对的,如果结果不正确,说明该表中显示的日期不是日期型数据(或其中搀杂有其他字符)。

纯文本的可以用下边公式:
=(MID(A2,FIND("/",A2)-4,4)-1)&"/"&(MID(A2,FIND("/",A2)+1,FIND("/",MID(A2,FIND("/",A2)+1,20))-1))&"/"&(MID(A2,FIND("/",MID(A2,FIND("/",A2)+1,20))+FIND("/",A2)+1,FIND("/",MID(A2,FIND("/",A2)+1,20))+1))