2015-06-08 4 views
3

У меня есть набор данных, как например:Как найти первое число месяца для набора данных в VBA

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 

Они относятся к рабочим дням в год. Среди этих дат я хочу найти первую дату месяца. Так, например, в июне месяце, первая дата, которая должна быть определена, должна быть 02/06/2015 и на май до 04/05/2015.

Я пытался что-то вроде этого:

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

Но это только занимает первое число месяца. Я хочу, чтобы это было первое число месяца в списке дат.

Нужно руководствоваться тем, как достичь этого.

+0

Как список кажется заказывается вы могли не попытаться обнаружить, когда месяц на дате вы проверяющая отличаются от месяца в сотовом сильфоном ? – Tom

+0

надеюсь, что это [ссылка] (http://dmcritchie.mvps.org/excel/datetime.htm) помогает – 0m3r

+0

Вы можете использовать функцию 'Weekday()', чтобы проверить, является ли дата субботой (возвращаемое значение = 7) или воскресенье (возвращенное значение = 1) – Trimax

ответ

5

Я вижу, вы используете Formula поэтому я могу только предложить ниже:

=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

+0

очень умно, одно примечание: лучше использовать месяц и год в формуле 'if' – Dawid

+0

Одна вещь, она отображается как число вместо месяца. Как его решить? Во-вторых, этот же номер отображается для всех дат месяца. Мне нужно, чтобы он появился только в первую дату месяца. Как это сделать? – lakesh

+0

@lakesh Чтобы он отображался как месяц, вам просто нужно его правильно отформатировать. Чтобы он появился только в первый день месяца, просто добавьте для этого еще один символ 'IF'. – L42

Смежные вопросы