Последовательность месяцев в excel


Создадим последовательности дат и времен различных видов:

01.01.09, 01.02.09, 01.03.09, …, янв, апр, июл, …, пн, вт, ср, …, 1 кв., 2 кв.,…, 09:00, 10:00, 11:00, … и пр.

Т.к. каждому значению даты соответствует определенное число (см. статью

Как EXCEL хранит дату и время

), то подходы для формирования последовательностей, изложенные в статье

Числовые последовательности

, применимы и для дат. Однако, имеются и свои особенности.

Последовательность

01.01.09, 01.02.09, 01.03.09

(первые дни месяцев) можно сформировать формулой

=ДАТАМЕС(B2;СТРОКА(A1))

, в ячейке

B2

должна находиться дата — первый элемент последовательности (

01.01.09

).

Эту же последовательность можно сформировать используя правую клавишу мыши. Пусть в ячейку

A2

введено значение

01.01.09

. Выделим ячейку

A2

. Удерживая правую клавишу мыши, скопируем

Маркером заполнения

, значение из

A2

в ячейки ниже. После того, как отпустим правую клавишу мыши, появится контекстное меню, в котором нужно выбрать пункт

Заполнить по месяцам

.

Изменив формат ячеек, содержащих последовательность

01.01.09, 01.02.09, 01.03.09,

на

МММ

(см. статью

Пользовательский формат дат

) получим последовательность

янв, фев, мар, ..

.

Эту же последовательность можно ввести используя список автозаполения

(введите

янв

, затем

Маркером заполнения

скопируйте вниз).

Ячейки будут содержать не даты, как в предыдущем случае, а текстовые значения.

Аналогичным образом можно сформировать последовательность дней недели

пн, вт, ср, …

Последовательность кварталов

1 кв., 2 кв.,…

можно сформировать используя идеи из статьи

Текстовые последовательности

.

Используя инструмент

Прогрессия

, можно создать последовательности только рабочих дней. А также с шагом месяц и год.

Последовательность первых месяцев кварталов

янв, апр, июл, окт, янв, …

можно создать введя в две ячейки первые два элемента последовательности (

янв, апр

), затем (предварительно выделив их) скопировать вниз

маркером заполнения

. Ячейки будут содержать текстовые значения. Чтобы ячейки содержали даты, используйте формулу

=ДАТАМЕС($G$16;(СТРОКА(A2)-СТРОКА($A$1))*3)

Предполагается, что последовательность начинается с ячейки

G16

, формулу нужно ввести в ячейку

G17

(см.

файл примера

).

Временную последовательность

09:00, 10:00, 11:00, …

можно сформировать используя

Маркер заполнения

. Пусть в ячейку

A2

введено значение

09

:

00

. Выделим ячейку

A2

. Скопируем

Маркером заполнения

, значение из

A2

в ячейки ниже. Последовательность будет сформирована.

Если требуется сформировать временную последовательность с шагом 15 минут (

09:00, 09:15, 09:30, …

), то можно использовать формулу

=B15+1/24/60*15

(Предполагается, что последовательность начинается с ячейки

B15

, формулу нужно ввести в

B16

). Формула вернет результат в формате даты.

Другая формула

=ТЕКСТ(B15+1/24/60*15;»чч:мм»)

вернет результат в текстовом формате.


СОВЕТ:

О текстовых последовательностях вида

первый, второй, …, 1), 2), 3), …

можно прочитать в статье

Текстовые последовательности

. О числовых последовательностях вида

1, 2, 3, … 1, 3, 5, 7, … I, II, III, IV, …

можно прочитать в статье

Числовые последовательности

.

Создание списка последовательных дат

Вы можете быстро создать список дат в последовательном порядке с помощью маркера заполнения Маркер заполнения или команды Заполнить.

Браузер не поддерживает видео. Установите Microsoft Silverlight, Adobe Flash Player или Internet Explorer 9.

Использование маркера заполнения

  1. Выделите ячейку, содержащую первую дату. Перетащите маркер заполнения по смежным ячейкам, которые нужно заполнить последовательными датами.

  2. Щелкните в нижнем правом углу ячейки маркер заполнения  Маркер заполнения и, удерживая, перетащите его, чтобы заполнить остальные ячейки в ряду. Маркер заполнения можно перетаскивать вверх, вниз и по горизонтали в пределах листа.

  3. Создание списка последовательных дат с помощью маркера заполнения

Использование команды «Заполнить»

  1. Выделите ячейку с первой датой. Затем выделите диапазон ячеек, которые нужно заполнить.

  2. Выберите Заполнить > Прогрессия > Единицы. Выберите нужную единицу.

Совет: Даты можно сортировать так же, как любые другие данные. По умолчанию даты сортируются от самой ранней до самой поздней.

Дополнительные сведения

Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.

См. также

Автоматическое заполнение ячеек листа данными

Использование функций автозаполнения и мгновенного заполнения

Нужна дополнительная помощь?

Date lists are an important part of numerous Excel models. Excel can automatically recognize date-time values, format the cells, and generate a date list quickly with AutoFill or specific functions. However, date-time functions are focused on a generating a single input, just like most other Excel functions. In September 2018, Microsoft has introduced a new the concept of dynamic arrays and “spill” behavior to overcome this limitation.

The SEQUENCE function also came with this update. This function essentially generates an array of a number sequence. For example, you can generate numbers from 1 to 10 that increase by 1 at each step. Let’s see how the SEQUENCE function can help generate a date list dynamically.

Download Workbook

At the time of writing this article, Microsoft announced that this feature is currently only available to a number of select users. When it’s ready, the feature is planned to be released for Office 365 users.

SEQUENCE Function Basics

The function can generate an array of sequential numbers. You can define how many rows or columns of numbers are to be generated, the start value, and the increment of each step.

=SEQUENCE(rows,[columns],[start],[step])

rows

The number of rows to be returned.

[columns]

Optional. The number of columns to be returned. The default value is 1.

[start]

Optional. Starting value. The default value is 1.

[step]

Optional. The increment of each step between values. The default value is 1.

Date-time values in Excel

Excel keeps date and time values as numbers. Excel assumes that Jan 1st, 1900 is 1, and every subsequent date value is based on this. While whole numbers represent days, decimals represent time values. For example; 1/1/2018 is equal to 43101, and 12:00 is equal to 0.5. As a result, adding or subtracting a number from a date value means adding or removing days from a date value.

Generating a list of days

In Excel, days are essentially numbers. All we need to do is format the number that returns the SEQUENCE function to generate the date list. However, without setting a [start] value, the SEQUENCE function starts from 1. For this, you can use a cell that already has a date value or a formula that returns a date value like TODAY(), NOW() or DATE().

We used the TODAY function in our example with 7 rows and a single column to generate 7 days starting from today (the date this article was written).

After entering the formula, the dates will be generated automatically. Remember to format generated values to display them as dates instead of numbers.

Generating a list of months

Generating a months list work in a similar way. However, since months have different day counts, generating dates by constant increments won’t work.

The DATE function has 3 arguments, the second being month. If you set 1 for  month, the DATE function generates a date on January. As a result, if you enter an array of numbers from 1 to 12, you will get dates from January to December.

=DATE(2019,SEQUENCE(12),1)

The formula generates first day of each month in 2019. Apply custom number formatting «mmmm» to show only the month names.

Generating a list of years

Generating years works similarly to months. The only difference is that you need set a [start] value to avoid starting the years from the 1900s. Before setting the [start] argument, you also need to set [columns]. Here, we set this to 1 to generate a list in a single column. If you want to generate a list through columns, set rows to 1.

=DATE(SEQUENCE(10,1,2019),1,1)

This formula will generate first days of 10 consecutive years starting from 2019.

Bonus: Calendar

You can also generate a calendar using the SEQUENCE function. By using both rows and [columns] arguments, you can make the DATE function spread through multiple rows and columns just like a calendar.

We start our calendar from April 1st. To generate only the days of a month, a 7-column, 5-row range is populated.

=SEQUENCE(5,7,DATE(2019,4,1))

Note: Here, we also used conditional formatting to hide the days in May. The formula is =MONTH(H5)<>4.

Explanation 

The EDATE function moves forward or backwards in time in one-month increments from a given start date. The SEQUENCE function is a dynamic array function that can generate multiple results that «spill» onto the worksheet in a «spill range».

SEQUENCE can generate results in rows, columns, or both. In this case, SEQUENCE is configured to output an array of numbers that is 12 rows by 1 column:

SEQUENCE(12,1,0)

The start is zero, and step value defaults to 1, so SEQUENCE outputs an array like this:

{0;1;2;3;4;5;6;7;8;9;10;11}

This array is returned to as the months argument inside the EDATE function. EDATE then returns 12 dates, beginning with the date in B5. Excel dates are stored as serial numbers, so the output looks like this:

{43586;43617;43647;43678;43709;43739;43770;43800;43831;43862;43891;43922}

When these results are formatted as dates, the result is 12 dates incremented by one month, beginning May 1, 2019.

End of month

To generate a series of «end of month» dates, you use the EOMONTH function instead of EDATE. The formula in F5 is:

=EOMONTH(B5,SEQUENCE(12,1,0))

Month names only

To generate a list of twelve month names starting from the current month you can wrap the formulas above in the TEXT function:

=TEXT(EDATE(TODAY(),SEQUENCE(12,1,0)),"mmmm")

Alter the start date to start month names in a different month. For example, to start names in January, use the DATE function to supply an arbitrary January date:

=TEXT(EDATE(DATE(2000,1,1),SEQUENCE(12,1,0)),"mmmm")

Any January date will achieve the same result, since EDATE will create dates in the next 12 months, and TEXT will convert these dates into month names. The TEXT function uses custom number formats to convert numbers into text. Read more on custom number formats here.

В магазине сдача выручки происходит 2 раза на месяц – в середине и в конце. Нам необходимо выполнить сортировку в Excel по дате и месяцу, так чтобы получить историю сдачи выручки по этим месяцам на протяжении года.

Сортировка в Excel по дате и месяцу

В данном примере будет использоваться многоуровневая сортировка. Допустим у нас иметься статистическая информация по сдачи выручки магазина за текущий год:

выручки магазина.

Порядок сортировки следующий:

  1. Перейдите на любую ячейку исходного диапазона A1:C10 и выберите инструмент: «ДАННЫЕ»-«Сортировка».
  2. инструмент.

  3. В появившемся диалоговом окне в первой секции «Столбец» из первого выпадающего списка «Сортировать по:» выбираем значение «Месяц», во втором выпадающем списке без изменений «Значение». А в третьей секции «Порядок» выбираем последнюю опцию «Настраиваемый список».
  4. Сортировать по.

  5. В появившемся диалоговом окне «Списки» выбираем список названий месяцев в году и нажимаем ОК.
  6. Списки.

  7. Нажмите на кнопку «Добавить уровень» и на втором уровень в первом выпадающем списке укажите на значение «День». Остальные секции – без изменений. И нажмите ОК.

Добавить уровень.

В результате мы организовали историю сдачи выручки в хронологическом порядке:

в хронологическом порядке.

Аналогичным способом можно выполнить сортировку по дням недели и др. Но что делать если нам нужно сортировать данные по критериям которых нет в списках порядка сортировки?



Как настроить сортировку в Excel

Исходная таблица для следующего примера:

Категория сотрудника.

Необходимо распределить данные по столбцу F – «Категория сотрудника» в следующей последовательности:

  1. Стажер.
  2. Физический.
  3. Удаленный.
  4. Руководитель.

К сожалению, для реализации данной задачи нельзя воспользоваться стандартными порядками сортировки значений в столбцах. Ведь текстовые значения по умолчанию в Excel можно сортировать только в алфавитном порядке или в обратно-алфавитном. Но в программе Excel предусмотрена возможность создания пользовательских порядков сортировок. Для решения данной задачи создадим свой ключ к порядку сортирования.

Сортировка по списку в Excel:

  1. Перейдите на любую ячейку таблицы и снова воспользуйтесь инструментом: «ДАННЫЕ»-«Сортировка».
  2. ДАННЫЕ.

  3. В первом выпадающем списке укажите «Категории сотрудника». Во втором все тоже «Значение». А в третьем выпадающем списке в секции «Порядок» выберите последнюю опцию «Настраиваемый список».
  4. Настраиваемый список.

  5. В появившемся окне «Списки» в левой группе укажите на первый «НОВЫЙ СПИСОК», а в правом текстовом поле введите все 4 категории разбив их на 4 строки. Для этого после ввода каждой нового названия категории сотрудника нажимайте клавишу Enter на клавиатуре:
  6. НОВЫЙ СПИСОК.

  7. Нажмите на кнопку «Добавить», которая расположена справой стороны. В результате чего в левой группе будет создан новый список для порядка пользовательской сортировки.
  8. Добавить.

  9. Нажмите на кнопку ОК в диалоговом окне «Списки» и в третьем выпадающем списке в секции «Порядок» автоматически добавились 2 новых опции. С прямым и обратным порядком для пользовательской настраиваемой сортировки. И снова нажмите на кнопку ОК в главном диалоговом окне инструмента.

Пример.

В результате таблица отсортирована с учетом всех привередливых пожеланий пользователя.

Полезный совет! Чтобы каждый раз не создавать новые списки для порядка сортировки воспользуйтесь редактором списков в настройках Excel. Для этого:

  1. Откройте редактор списков в настройках Excel: «ФАЙЛ»-«Параметры»-«Дополнительно»-«Общие»-«Изменить списки».
  2. Изменить списки.

  3. Введите свои списке и нажмите на кнопку «Добавить» как описано выше в примере. Если же у вас большой список и нет желания его заполнять вручную, тогда воспользуйтесь встроенным импортом. Для этого в данном диалоговом окне присутствует дополнительное поле «Импорт списка из ячеек:» в котором можно ввести ссылку на диапазон ячеек и нажать на кнопку «Импорт». И нажмите ОК.

Импорт списков порядков.

В результате при работе с Excel у вас будет всегда под рукой свой пользовательский список для порядка сортировки данных.

Понравилась статья? Поделить с друзьями:
  • Последовательность которую excel автоматически не продолжает
  • Последовательность копирования текста в word
  • Последовательность команд макросов word
  • Последовательность действий при работе с мастером функций ms excel
  • Последовательность действий при работе с word