当前位置: 首页 > 知识库问答 >
问题:

尝试比较相隔超过一个月的日期差异

蒋畅
2023-03-14

我在Excel中做一些工作,需要比较两个日期列。我理解=如果(日期1

例如,date1 = 03/01/2017 和 date2 = 03/27/2017 将返回 N,因为同月、同年。但是,如果 date1 = 03/05/2017 且 date2 = 04/02/2017,则它将返回 Y,因为不同的日期不同,月份不同。

所以我不是在寻找日期之间30天的差异,我只是在寻找月份的不同。

有没有足够简单的方法来做到这一点,那将是至高无上的。我确信它可能需要VBA中的宏,但谁知道呢?Excel的健壮性和可用性一直令我惊讶。

共有2个答案

锺离阿苏
2023-03-14

为每个日期创建字符串文本并比较字符串。

=CHOOSE((TEXT(A2, "mmyyyy")<>TEXT(B2, "mmyyyy"))+1, "N", "Y")
谷涵容
2023-03-14

Excel有一些有用的函数,可以将日期分解为各个组件。在这种情况下,您需要使用Month()和Year()函数;分别返回日期的月份和年份。

此公式检查月份和年份是否对齐,如果对齐,则给出Y,如果不对齐,则给出N:

=IF(AND(MONTH(date1)=MONTH(date2),YEAR(date1)=YEAR(date2)),"Y","N")

如果您正在寻找月数的差异,您可以像这样修改上面的公式:

=IF(AND(MONTH(date1)=MONTH(date2),YEAR(date1)=YEAR(date2)),0,Month(date1)-Month(date2)+(12*(year(date1)-year(date2)))

希望这有帮助

 类似资料:
  • 问题内容: 我希望有人可以帮助我。 我想在数据库日期中增加一个月,但我想防止在最后一天的两个月中跳过两个月。 例如,我可能有: 2009年1月31日 我想得到 2009年2月28日 并不是 2009年3月2日 下一个日期是 2009年3月28日 2009年6月28日 等等。 oracle中是否已经有执行这种操作的功能? 编辑 是的 我想每个月将具有某些状态的所有记录复制到下一个(因此用户不必每月再

  • 我想从getdate()获取标题(yyyy-mm)中的日期格式,以便在where子句中使用它来获取

  • 我有以下Log4J配置,我如何删除超过一个月的日志? log=log/ log4j.appender.file.datePattern='.'YYYY-MM-DD-A log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%m%n

  • 所以今年早些时候,我在大学里接到了一个任务。任务是使用OOP程序创建一个停车场管理系统。例如,我们学习了如何使用继承、抽象类和实例。我已经完成了并通过了这个作业,所以这个问题只是为了知识目的。其中一个任务是按时间顺序对对象的 Array 列表进行排序。为此,我们学习了可比/比较器方法。但是,我无法理解它,也无法做到这一点。问题是,我们必须对数组列表中的“Vehicle”对象中的“DateTime”

  • 我正在尝试建立一个网站,告诉你(以年、月、周、小时、分钟和秒为单位)你的年龄。我让他们每个人都工作了好几个月甚至好几年。一旦我得到了月数,我就可以得到年数(希望如此),但是我在想办法得到月数时遇到了困难。对于其他人来说,这很容易(一旦我有了出生日期和当前日期之间的秒数,我就可以把秒转换成分钟、小时、天等等),但是在接下来的几个月里,我需要考虑到它们都是不同的长度和闰年(目前也不影响天数)。

  • 我想计算2个月之间的差异,我不想考虑一个月是30天,并且以毫秒的时间来转换它们,我不想使用像焦达这样的库,我也找到了一个使用LoalDead的解决方案,但是我使用的是java 7。我寻找我的问题的答案,但找不到任何答案,我尝试了许多方法,我尝试创建一个日历,并以毫秒为单位传递我的两个日期之间的差异,但如果我尝试获取15/04和15/5之间的差异,我将得到30天,而不是1个月,下面是代码 我可以用什