如何在vba中查找一组数据的月份的第一个日期

时间:2015-06-08 07:44:13

标签: excel vba date

我有一组数据:

05/06/2015
04/06/2015
03/06/2015
02/06/2015
29/05/2015
28/05/2015
27/05/2015
26/05/2015
25/05/2015
22/05/2015
21/05/2015
20/05/2015
19/05/2015
18/05/2015
15/05/2015
14/05/2015
13/05/2015
12/05/2015
11/05/2015
08/05/2015
07/05/2015
06/05/2015
05/05/2015
04/05/2015
30/04/2015
29/04/2015
28/04/2015
27/04/2015
24/04/2015
23/04/2015
22/04/2015
21/04/2015
20/04/2015
17/04/2015
16/04/2015
15/04/2015
14/04/2015
13/04/2015
10/04/2015
09/04/2015
08/04/2015
07/04/2015
06/04/2015
02/04/2015
01/04/2015
31/03/2015

这些是指一年中的工作日。在这些日期中,我想找到这个月的第一个日期。例如,6月份,要确定的第一个日期应为2015年6月2日,2015年5月为05/05/2015。

我尝试过这样的事情:

=IF(Cellreference=((Cellreference)-DAY(Cellreference)+1),TEXT(Cellreference,"mmm"),"")

但这只需要一个月的第一个日期。我想把它作为给定日期列表中月份的第一个日期。

需要一些指导如何实现这一目标。

1 个答案:

答案 0 :(得分:5)

我看到你使用公式所以我只能建议如下:

=MIN(IF(MONTH(AllDateReference)=MONTH(CellReference),AllDateReference,1E+99))

这是使用 Ctrl + Shift + Enter 输入的数组公式 实际样本:

=MIN(IF(MONTH(A$1:A$46)=MONTH(A1),A$1:A$46,1E+99))

其中A$1:A$46包含您的所有日期。

修改1:仅在当月的第一个日期显示。

=IF(A1=MIN(IF(MONTH(A$1:A$46)=MONTH(A1),A$1:A$46,1E+99)),A1,"")

<强>示例:

enter image description here