首页 > 解决方案 > 按名称计算月份和两个日期之间的相应天数

问题描述

我需要的是一个简单的 VBA 代码,它将告诉我两个日期之间的月份名称以及这些月份中的相应日期,如下所示。如果需要,它应该在两个日期之间自动添加行。如果有人可以为 excel VBA 编写代码,我将不胜感激。

START DATE 20/10/2017   END DATE 15/10/2018
Oct-17  11
Nov-17  30
Dec-17  31
Jan-18  31
Feb-18  28
Mar-18  31
Apr-18  30
May-18  31
Jun-18  30
Jul-18  31
Aug-18  31
Sep-18  30
Oct-18  15

在此处输入图像描述

标签: excelvbadays

解决方案


在第一列中输入并复制:

=IF(DATE(YEAR($A$1),MONTH($A$1)+ROW(1:1)-1,1)<$B$1,DATE(YEAR($A$1),MONTH($A$1)+ROW(1:1)-1,1),"")

然后在下一列中输入:

=IF(A2<>"",IF(AND(MONTH(A2)=MONTH($A$1),YEAR(A2)=YEAR($A$1)),EOMONTH(A2,0)-$A$1,IF(AND(MONTH(A2)=MONTH($B$1),YEAR(A2)=YEAR($B$1)),$B$1-EOMONTH(A2,-1),DAY(EOMONTH(A2,0)))),"")

并抄下来。

在此处输入图像描述

您需要格式化第一列mmm-yy


推荐阅读