8

В Excel, как я могу получить квартал года от даты, используя формулу листа? У меня есть столбец с датами, охватывающими несколько лет.

  • С 1 января по 31 марта = 1 квартал
  • Апрель-01 по июнь-30 = Q2
  • так далее...

Бонусный вопрос: как я могу сдвинуть квартал, чтобы Q1 был апрелем-июнем (январь-март будет Q4).

4 ответа4

7

В зависимости от того, как вы отформатировали значение даты, Excel может автоматически преобразовать его в "код даты". это число дней с 1 января 1900 года (код даты 1). Этот номер затем используется различными функциями даты. Вот предложенная формула для простого анализа квартала.

= НЕДЕЛЯ (МЕСЯЦ (А1)/3,0)

Это просто даст вам номер квартала. затем вы можете использовать CONCATENATE для добавления текста.

Вот отличный учебник с множеством примеров:

http://www.cpearson.com/excel/DateTimeWS.htm

[РЕДАКТИРОВАТЬ]

Как утверждает @hyperslug, лучший способ сделать это - использовать следующее:

= СЦЕПИТЬ ("Q", ОКРУГЛВВЕРХ (МЕСЯЦ (ДАТА (ГОД (А1), МЕСЯЦ (А1)-3, ДЕНЬ (А1)))/3,0))

Этот метод сдвигает дату вперед или назад, прежде чем получить значение месяца перед делением на 3. Вы можете контролировать месяц, в котором начинается квартал, изменяя раздел «Месяц (А1)-3».

  • Дата начала использования января: «Месяц (А1)»
  • Дата начала использования апреля: "Месяц (А1)-3"
  • Дата начала использования сентября: "Месяц (А1)+4"

Сложение и вычитание могут оба использоваться. Это не интуитивно понятно, но использование вычитания перемещает начальную четверть вперед (-1 - февраль), а сложение - назад (+1 - декабрь).

[/РЕДАКТИРОВАТЬ]


[РЕДАКТИРОВАТЬ] Примечание. Этот метод работает, но он не такой элегантный, как описанный выше.

Поработав, я нашел способ ответить на ваш бонусный вопрос. Вы можете использовать операторы IF для возврата значения (text/int) на основе месяца. Вы просто должны выяснить, какие месяцы связаны с каким кварталом.

= ЕСЛИ (И (МЕСЯЦ (А1)> = 4, МЕСЯЦ (А1)<7), "В1", ЕСЛИ (И (МЕСЯЦ (А1)> = 7, МЕСЯЦ (А1)<10), "Q2", ЕСЛИ (И (МЕСЯЦ (А1)> = 10), "Q3", ЕСЛИ (И (МЕСЯЦ (А1)> = 1, МЕСЯЦ (А1)<4), "В4"))))

Это плотное уравнение, использующее комбинацию функций "IF", "AND" и "MONTH". Изменяя значения месяца (внутри операторов AND), вы можете дополнительно контролировать, какое значение возвращается. Я использовал текстовые строки, но вы могли легко изменить их в соответствии с вашими потребностями.

[/РЕДАКТИРОВАТЬ]

Надеюсь это поможет

2

Бонусный ответ:

=MOD(INT((MONTH(A1)-1)/3)-1,4)+1
1

Это должно быть более эффективным:

=CONCATENATE("Q", INT(MONTH(A1)/4) + 1)
0

Следующая формула должна работать:

=IF(OR(MONTH(A1)=1,MONTH(A1)=2,MONTH(A1)=3),"Q1",IF(OR(MONTH(A1)=4,MONTH(A1)=5,MONTH(A1)=6),"Q2",IF(OR(MONTH(A1)=7,MONTH(A1)=8,MONTH(A1)=9),"Q3",IF(OR(MONTH(A1)=10,MONTH(A1)=11,MONTH(A1)=12),"Q4",""))))

Удачи.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .