Форматирование чисел в виде значений даты и времени
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Еще…Меньше
Когда вы введите дату или время в ячейку, она отображается в формате даты и времени по умолчанию. Этот формат по умолчанию основан на региональных параметрах даты и времени, заданных на панели управления, и изменяется при их настройке на панели управления. Числа можно отобразить в нескольких других форматах даты и времени, на большинство из которых параметры панели управления не влияют.
В этой статье
-
Отображение чисел в качестве даты или времени
-
Создание пользовательского формата даты или времени
-
Советы для отображения дат и времени
Отображение чисел в качестве даты или времени
Вы можете форматирование даты и времени по мере их ввести. Например, если ввести в ячейку 2/2, Excel будет автоматически интерпретирован как дата и отобразит в ячейке 02.фев. Если это не то, что вам нужно (например, если вы хотите, чтобы в ячейке были 2 февраля 2009 г. или 02.02.09), в диалоговом окне Формат ячеек можно выбрать другой формат даты, как покажем в следующей процедуре. Аналогично, если ввести в ячейку 9:30 a или 9:30 p, Excel интерпретирует это как время и отображает 9:30 или 21:30. Вы также можете настроить способ времени в диалоговом окне Формат ячеек.
-
На вкладке Главная в группе Число нажмите кнопку вызова диалогового окна, расположенную рядом с надписью Число.
Вы также можете нажать CTRL+1, чтобы открыть диалоговое окно Формат ячеек.
-
В списке Категория выберите дата иливремя.
-
В списке Тип выберите нужный формат даты или времени.
Примечание: Форматы даты и времени, которые начинаются со звездочки (*), отвечают на изменения в региональных параметрах даты и времени, заданных на панели управления. На форматы без звездочки параметры, заданные на панели управления, не влияют.
-
Чтобы отобразить даты и время в формате других языков, выберите нужный язык в поле Языковой стандарт (расположение).
Число в активной ячейке выбранного на этом сайте отображается в поле Образец, чтобы можно было просмотреть выбранные параметры форматирования.
К началу страницы
Создание пользовательского формата даты или времени
-
На вкладке Главная нажмите кнопку вызова диалогового окна рядом с именем группы Число.
Вы также можете нажать CTRL+1, чтобы открыть диалоговое окно Формат ячеек.
-
В поле Категория выберите дата или время ,а затем выберите числовом формате, наиболее близком по стилю к тому, который вы хотите создать. (При создании пользовательских числных форматов проще начать с существующего, чем с нуля.)
-
В списке Категория выберите пункт (все форматы). В поле Тип вы увидите код формата, совпадающий с форматом даты или времени, выбранным на шаге 3. Встроенный формат даты или времени нельзя изменить или удалить, поэтому не беспокойтесь о переописи.
-
В поле Тип введите необходимые изменения формата. Вы можете использовать любой из кодов в следующих таблицах:
Дни, месяцы и годы
Для отображения |
Используйте код |
---|---|
Месяцев в виде чисел от 1 до 12 |
м |
Месяцев в виде чисел от 01 до 12 |
мм |
Месяцев в виде «янв», …, «дек» |
ммм |
Месяцев в виде «январь», …, «декабрь» |
мммм |
Месяцев в виде первой буквы месяца |
ммммм |
Дней в виде чисел от 1 до 31 |
д |
Дней в виде чисел от 01 до 31 |
дд |
Дней в виде «Пн», …, «Вс» |
ддд |
Дней в виде «понедельник», …, «воскресенье» |
дддд |
Лет в виде чисел от 00 до 99 |
гг |
Лет в виде чисел от 1900 до 9999 |
гггг |
Если вы используете «м» сразу после кода «ч» или «чч» или непосредственно перед кодом «сс», Excel отображает минуты вместо месяца.
Часы, минуты и секунды
Для отображения |
Используйте код |
---|---|
Часы в качестве 0–23 |
ч |
Часы в качестве 00–23 |
чч |
Минуты в качестве 0–59 |
м |
Минуты в качестве 00–59 |
мм |
Секунды в качестве 0–59 |
с |
Секунды в качестве 00–59 |
ss |
Часы с 04:00 до 04:0 |
ч |
Время: 16:36 |
ч:мм |
Время в 4:36:03 P |
ч:мм:сс |
Заслон времени в часах; например, 25,02 |
[ч]:мм |
Заслон времени в минутах; например, 63:46 |
[мм]:сс |
За считанные секунды |
[сс] |
Доля секунды |
ч:мм:сс,00 |
AM и PM Если формат содержит am или PM, часы основаны на 12-часовом формате, где «AM» или «A» указывает время от полуночи до полудня, а «PM» или «P» — время от полудня до полуночи. В противном случае используется 24-часовой цикл. Код «м» или «мм» должен отображаться сразу после кода «ч» или «чч» или непосредственно перед кодом «сс»; в противном Excel отображается месяц, а не минуты.
Создавать пользовательские числовые форматы может быть непросто, если вы этого еще не сделали. Дополнительные сведения о создании пользовательских числных форматов см. в теме Создание и удаление пользовательских числов.
К началу страницы
Советы для отображения дат и времени
-
Чтобы быстро использовать стандартный формат даты или времени, щелкните ячейку с датой или временем и нажмите CTRL+SHIFT+# или CTRL+SHIFT+@.
-
Если после применения к ячейке формата даты или времени в ней отображаются ####, вероятно, ширины ячейки недостаточно для отображения данных. Чтобы увеличить ширину столбца, дважды щелкните правую границу столбца, содержащего ячейки. Ширина столбца будет автоматически изменена таким образом, чтобы вместить содержимое ячеек. Можно также перетащить правую границу столбца до необходимой ширины.
-
При попытке отменить формат даты или времени с помощью выбора в списке Категория общего Excel отображает числовом коде. При повторном вводе даты или времени Excel формат даты или времени по умолчанию. Чтобы ввести определенный формат даты или времени, например январь 2010г., можно отформать его как текст, выбрав текст в списке Категория.
-
Чтобы быстро ввести текущую дату, выйдите из любой пустой ячейки и нажмите CTRL+; (точка с за semicolon) и при необходимости нажмите ввод. Чтобы вставить дату, которая будет обновляться до текущей даты при каждом повторном повторном пересчете или пересчете формулы, введите =СЕГОДНЯ() в пустую ячейку и нажмите ввод.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Нужна дополнительная помощь?
На чтение 5 мин Просмотров 4.5к. Опубликовано 19.02.2022
Excel сохраняет даты в виде порядковых номеров. Человеку невозможно их читать и понимать, но, таким образом, можно использовать их в функциях расчета, к примеру добавить к дате или времени какое-то количество времени (день, год и так далее).
Но, довольно часто, вам может быть нужно использовать даты в одних ячейках с текстом, так сказать, объединять.
На картинке пример объединения даты с текстом в одной ячейке. Видите как выглядит наша дата? Это формат порядкового номера Excel.
Именно в таких ситуациях вам может понадобиться привести дату в «читаемый» формат.
Содержание
- Переводим дату в текстовый формат
- Как привести указанную дату в текстовый формат
- Как привести текущую дату в текстовый формат
- Переводим дату в текстовый формат с помощью функции «Текст по столбцам»
- Переводим дату в текстовый формат с помощью копирования и вставки
Переводим дату в текстовый формат
Когда нам нужно привести дату в определенный формат (к примеру, 16-08-2016), мы можем вызвать функцию ТЕКСТ.
Итак, как она работает.
Синтаксис:
=ТЕКСТ(значение; формат_текста)
Она принимает два аргумента:
- Значение — в нашем случае это дата, которую вы хотите преобразовать в текст нужного формата. Это может быть просто дата, ссылка на ячейку с датой, или результат формулы.
- Формат_текста — формат, в котором нужно показать нашу дату. Формат должен быть указан в двойных кавычках.
Какие есть форматы и разделители?
Формат дат состоит из 4 составляющих:
- день
- месяц
- год
- разделитель
Ниже приведены форматы, которые можно использовать для каждой части:
Формат дня:
- Д — день будет отображаться без нуля, т.е. 1 будет отображаться как 1, а 12 как 12.
- ДД — день будет отображаться с нулем, т.е. 1 будет 01, а 12 как 12.
- ДДД — будет отображаться день недели(сокращенно), т.е. «Пятница» будет «Пят».
- ДДДД — будет отображаться день недели(полностью), т.е. «Пятница» будет «Пятница».
Формат месяца:
- М — месяц будет отображаться без нуля, т.е. 1 будет отображаться как 1, а 12 как 12.
- ММ — месяц будет отображаться с нулем, т.е. 1 будет 01, а 12 как 12.
- МММ — месяц будет отображаться с сокращенным названием, т.е. «Сентябрь» будет «Сен».
М — месяц будет отображаться без нуля, т.е. 1 будет отображаться как 1, а 12 как 12.
ММ — месяц будет отображаться с нулем, т.е. 1 будет 01, а 12 как 12.
МММ — месяц будет отображаться с сокращенным названием, т.е. «Сентябрь» будет «Сен».
ММММ — месяц будет отображаться с полным названием, т.е. «Сентябрь» будет «Сентябрь».
Формат года:
- ГГ — год будет отображаться как 2 цифры, т.е. 2019 будет 19.
- ГГГГ — год будет отображаться полностью, т.е. 2019 будет 2019.
Разделитель:
- «/» : это просто разделитель между цифрами в дате, т.е. отображаться будет как 01/01/2019.
- «-»: такой же разделитель между цифрами, т.е. отображаться будет как 01-01-2019.
- Пробелы и запятые: тут немного посложней, вы можете комбинировать и создавать свои форматы отображения, например, 01 января, 2019 года.
Итак, разберем примеры.
Как привести указанную дату в текстовый формат
Пример:
Итак, мы получили дату вместе с текстом, но дата сейчас в формате порядкового номера Excel.
Формула:
="Дата"&A2&"="&B2
Теперь, нам нужно получить дату в «привычном» для нас виде.
Формула будет:
="Дата "&A2&" = "&ТЕКСТ(B2;"ДД.ММ.ГГГГ")
Итак, мы вызвали функцию ТЕКСТ, указали ссылку на ячейку и определили формат, результат вы видите на картинке выше.
Какие еще есть форматы и как они выглядят на «выходе»:
Как привести текущую дату в текстовый формат
Для того чтобы получить текущую дату мы можем использовать функцию СЕГОДНЯ.
Формула:
="Сегодня "&ТЕКСТ(СЕГОДНЯ();"ДД/ММ/ГГГГ")
Эта функция может пригодиться вам в случае, если вы формируете отчеты, где важна, например, дата изменения файла.
Переводим дату в текстовый формат с помощью функции «Текст по столбцам»
Если формулы и вызов функций вам не по душе, есть вариант и для вас.
Допустим, у нас есть следующие данные и нам нужно преобразовать их в текстовый формат:
Пошаговая инструкция:
- Выделите ячейки, которые необходимо преобразовать в текст;
- Перейдите в раздел «Данные» -> «Текст по столбцам»;
- В открывшемся окне:
- Выберите опцию «с разделителями»;
- Снимите все галочки и нажмите «Далее»;
- Выберите формат «текстовый» укажите куда поместить наши, уже текстовые, значения и нажмите «Готово».
Функция сразу же переводит даты в текстовый формат.
Важная информация: эта функция устанавливает формат для дат по умолчанию для настроек вашей системы. То есть если вы хотите записать даты в определенном формате вам нужно использовать способы рассмотренные ранее, но для начала дочитайте нашу статью, возможно следующий вариант подойдет вам.
Переводим дату в текстовый формат с помощью копирования и вставки
Пошаговая инструкция:
- Выделите ячейки с датами, которые нужно преобразовать, и скопируйте их;
- Откройте обычный блокнот и вставьте наши данные туда, как только вы это сделаете, данные сразу же потеряют формат, т.е. станут обычным текстом (потому что в блокноте нет никаких форматов данных, кроме текста);
- Выделите ячейки, куда вы будете вставлять даты и поменяйте их формат на «Текстовый»;
- А теперь, заново скопируйте даты из блокнота, а затем вставьте их в Excel.
Excel сохраняет даты в виде порядковых номеров. Человеку невозможно их читать и понимать, но, таким образом, можно использовать их в функциях расчета, к примеру добавить к дате или времени какое-то количество времени (день, год и так далее).
Но, довольно часто, вам может быть нужно использовать даты в одних ячейках с текстом, так сказать, объединять.
На картинке пример объединения даты с текстом в одной ячейке. Видите как выглядит наша дата? Это формат порядкового номера Excel.
Здравствуйте. Сегодня мы научимся преобразовывать дату в текст в Excel. Сначала давайте изучим как Эксель хранит информацию о дате. Программа хранит ее как число, равное количеству дней от 01.01.1900 года, к примеру 01.01.2016 это 42 370. Нам же нужно преобразовать это число в текст, к примеру что бы 01.01.2016 отразилось как 1 янв 2016 в текстовом формате. Это можно сделать при помощи встроенной формулы ТЕКСТ.
Синтаксис формулы:
ТЕКСТ(значение; формат)
где значение — это ссылка на ячейку с датой, либо сама дата.
формат — Численный формат в виде текстовой строки в кавычках.
Варианты форматов для приобразования даты:
М | Отображение месяца в виде числа без начального нуля. |
ММ | Отображение месяца в виде числа с начальным нулем, если он необходим. |
МММ | Отображение сокращенного названия месяца (янв–дек). |
ММММ | Отображение полного названия месяца (январь–декабрь). |
МММММ | Отображение месяца в виде одной буквы (Я–Д). |
Д | Отображение дня в виде числа без начального нуля. |
ДД | Отображение дня в виде числа с начальным нулем, если он необходим. |
ДДД | Отображение сокращенного названия дня недели (пн–вс). |
ДДДД | Отображение полного названия дня недели (понедельник–воскресенье). |
ГГ | Отображение года в виде двузначного числа. |
ГГГГ | Отображение года в виде четырехзначного числа. |
В нашем случае введите в ячейку A1 нашу дату 01.01.2016, а в ячейку B1 формулу =ТЕКСТ(A1;»ДД МММ ГГГГ»), тем самым Вы получите в ячейке В1 текст «01 янв 2016«, который мы и хотели получить.
Оставляйте комментарии к статье ниже.
Excel позволяет создать свой (пользовательский) формат ячейки. Многие знают об этом, но очень редко пользуются из-за кажущейся сложности. Однако это достаточно просто, главное понять основной принцип задания формата.
Для того, чтобы создать пользовательский формат необходимо открыть диалоговое окно Формат ячеек и перейти на вкладку Число. Можно также воспользоваться сочетанием клавиш Ctrl + 1.
В поле Тип вводится пользовательские форматы, варианты написания которых мы рассмотрим далее.
Посмотрите простые примеры использования форматирования. В столбце А – значение без форматирования, в столбце B – с использованием пользовательского формата (применяемый формат в столбце С)
Синий, зеленый, красный, фиолетовый, желтый, белый, черный и голубой.
Стоит обратить внимание, что форматы даты можно комбинировать между собой. Например, формат “ДД.ММ.ГГГГ” отформатирует дату в привычный нам вид 31.12.2017, а формат “ДД МММ” преобразует дату в вид 31 Дек.
Если иметь ввиду российские региональные настройки, то Excel позволяет вводить дату очень разными способами – и понимает их все:
Внешний вид (отображение) даты в ячейке может быть очень разным (с годом или без, месяц числом или словом и т.д.) и задается через контекстное меню – правой кнопкой мыши по ячейке и далее Формат ячеек (Format Cells):
Время вводится в ячейки с использованием двоеточия. Например
По желанию можно дополнительно уточнить количество секунд – вводя их также через двоеточие:
И, наконец, никто не запрещает указывать дату и время сразу вместе через пробел, то есть
Для ввода сегодняшней даты в текущую ячейку можно воспользоваться сочетанием клавиш Ctrl + Ж (или CTRL+SHIFT+4 если у вас другой системный язык по умолчанию).
Если скопировать ячейку с датой (протянуть за правый нижний угол ячейки), удерживая правуюкнопку мыши, то можно выбрать – как именно копировать выделенную дату:
Если Вам часто приходится вводить различные даты в ячейки листа, то гораздо удобнее это делать с помощью всплывающего календаря:
Если нужно, чтобы в ячейке всегда была актуальная сегодняшняя дата – лучше воспользоваться функцией СЕГОДНЯ (TODAY):
Как Excel на самом деле хранит и обрабатывает даты и время
Если выделить ячейку с датой и установить для нее Общий формат (правой кнопкой по ячейке Формат ячеек – вкладка Число – Общий), то можно увидеть интересную картинку:
То есть, с точки зрения Excel, 27.10.2012 15:42 = 41209,65417
На самом деле любую дату Excel хранит и обрабатывает именно так – как число с целой и дробной частью. Целая часть числа (41209) – это количество дней, прошедших с 1 января 1900 года (взято за точку отсчета) до текущей даты. А дробная часть (0,65417), соответственно, доля от суток (1сутки = 1,0)
Из всех этих фактов следуют два чисто практических вывода:
- Во-первых, Excel не умеет работать (без дополнительных настроек) с датами ранее 1 января 1900 года. Но это мы переживем!
- Во-вторых, с датами и временем в Excel возможно выполнять любые математические операции. Именно потому, что на самом деле они – числа! А вот это уже раскрывает перед пользователем массу возможностей.
Количество дней между двумя датами
Считается простым вычитанием – из конечной даты вычитаем начальную и переводим результат в Общий (General) числовой формат, чтобы показать разницу в днях:
Количество рабочих дней между двумя датами
Здесь ситуация чуть сложнее. Необходимо не учитывать субботы с воскресеньями и праздники. Для такого расчета лучше воспользоваться функцией ЧИСТРАБДНИ(NETWORKDAYS) из категории Дата и время. В качестве аргументов этой функции необходимо указать начальную и конечную даты и ячейки с датами выходных (государственных праздников, больничных дней, отпусков, отгулов и т.д.):
Примечание: Эта функция появилась в стандартном наборе функций Excel начиная с 2007 версии. В более древних версиях сначала необходимо подключить надстройку Пакета анализа. Для этого идем в меню Сервис – Надстройки (Tools – Add-Ins) и ставим галочку напротив Пакет анализа (Analisys Toolpak). После этого в Мастере функций в категории Дата и время появится необходимая нам функция ЧИСТРАБДНИ (NETWORKDAYS).
Функция ГОД в Excel
Возвращает год как целое число (от 1900 до 9999), который соответствует заданной дате. В структуре функции только один аргумент – дата в числовом формате. Аргумент должен быть введен посредством функции ДАТА или представлять результат вычисления других формул.
Пример использования функции ГОД:
Функция МЕСЯЦ в Excel: пример
Возвращает месяц как целое число (от 1 до 12) для заданной в числовом формате даты. Аргумент – дата месяца, который необходимо отобразить, в числовом формате. Даты в текстовом формате функция обрабатывает неправильно.
Примеры использования функции МЕСЯЦ:
ДЕНЬНЕД
Задача оператора ДЕНЬНЕД – выводить в указанную ячейку значение дня недели для заданной даты. Но формула выводит не текстовое название дня, а его порядковый номер. Причем точка отсчета первого дня недели задается в поле «Тип». Так, если задать в этом поле значение «1», то первым днем недели будет считаться воскресенье, если «2» — понедельник и т.д. Но это не обязательный аргумент, в случае, если поле не заполнено, то считается, что отсчет идет от воскресенья. Вторым аргументом является собственно дата в числовом формате, порядковый номер дня которой нужно установить. Синтаксис выглядит так:
=ДЕНЬНЕД(Дата_в_числовом_формате;[Тип])
“ВЫБОР”.
Теперь предположим, что вы хотите получить произвольное название месяца или имя на другом языке вместо числа или обычного имени.
В этой ситуации вам поможет функция ВЫБОР и уже пройденная нами функция МЕСЯЦ. Построим формулу. Для этого нам необходимо указать пользовательское имя для всех 12 месяцев в функции и использовать функцию месяца, чтобы получить номер месяца из даты.
=ВЫБОР(МЕСЯЦ(A1);”Январь”;”Фев”;”Март”;”Апр”;”Май”;”Июнь”;”Июль”;”Авг”;”Сен”;”Октябрь”;” Ноябрь”;”декабрь”)
Таким образом, когда функция месяца возвращает номер месяца от даты, функция выбора будет возвращать произвольное имя месяца вместо этого числа.
НОМНЕДЕЛИ
Предназначением оператора НОМНЕДЕЛИ является указание в заданной ячейке номера недели по вводной дате. Аргументами является собственно дата и тип возвращаемого значения. Если с первым аргументом все понятно, то второй требует дополнительного пояснения. Дело в том, что во многих странах Европы по стандартам ISO 8601 первой неделей года считается та неделя, на которую приходится первый четверг. Если вы хотите применить данную систему отсчета, то в поле типа нужно поставить цифру «2». Если же вам более по душе привычная система отсчета, где первой неделей года считается та, на которую приходится 1 января, то нужно поставить цифру «1» либо оставить поле незаполненным. Синтаксис у функции такой:
=НОМНЕДЕЛИ(дата;[тип])
Формула условия для дат с функцией ДАТАЗНАЧ (DATEVALUE)
Иногда случается, что записать дату непосредственно в функцию ЕСЛИ, не ссылаясь ни на какую ячейку. В этом случае возникают некоторые сложности.
В отличие от многих других функций Excel, ЕСЛИ не может распознавать даты и интерпретирует их как текст, как простые текстовые строки.
Поэтому вы не можете выразить свое логическое условие просто как >«15.07.2019» или же >15.07.2019. Увы, ни один из приведенных вариантов не верен.
Чтобы функция ЕСЛИ распознала дату в вашем логическом условии именно как дату, вы должны обернуть ее в функцию ДАТАЗНАЧ (в английском варианте – DATEVALUE).
Например, ДАТАЗНАЧ(«15.07.2019»).
Полная формула ЕСЛИ может иметь следующую форму:
=ЕСЛИ(B2<ДАТАЗНАЧ(“10.09.2019″),”Поступил”,”Ожидается”)
Как показано на скриншоте, эта формула ЕСЛИ оценивает даты в столбце В и возвращает «Послупил», если дата поступления до 10 сентября. В противном случае формула возвращает «Ожидается».
Расширенные формулы ЕСЛИ для будущих и прошлых дат
Предположим, вы хотите отметить только те даты, которые отстоят от текущей более чем на 30 дней.
Выделим даты, отстоящие более чем на месяц от текущей, в прошлом. Укажем для них «Более месяца назад». Запишем это условие:
=ЕСЛИ(СЕГОДНЯ()-B2>30,”Более месяца назад”,””)
Если условие не выполнено, то в ячейку запишем пустую строку “”.
А для будущих дат, также отстоящих более чем на месяц, укажем «Ожидается».
=ЕСЛИ(B2-СЕГОДНЯ()>30,”Ожидается”,””)
Если все результаты попробовать объединить в одном столбце, то придется составить выражение с несколькими вложенными функциями ЕСЛИ:
=ЕСЛИ(СЕГОДНЯ()-B2>30,”Более месяца назад”, ЕСЛИ(B2-СЕГОДНЯ()>30,”Ожидается”,””))
Перевод разных написаний дат
Разные системы в выгрузках выдают даты по-разному, например: 12.07.2016 12-07-16 16-07-12 и так далее. Иногда месяца пишут текстом. Для того, чтобы привести даты к одному формату мы используем функцию ДАТА:
Синтаксис: =ДАТА(ЛЕВСИМВ(A2;4);ПСТР(A2;5;2);ПРАВСИМВ(A2;2))
Данный вариант подходит, когда количество символов в дате одинаковое. Если вы работаете с однотипными выгрузками еженедельно, создание дополнительного столбца и протягивание формулы будет простым решением.
Получение значения даты
С помощью формулы ЗНАЧ мы выводим текстовое значение даты, потом его форматируем как Дату:
Синтаксис: =ЗНАЧЕН(A7)
Умножение текстового значения на единицу
Принцип аналогичный предыдущему, только мы текстовое значение умножаем на единицу и после этого форматируем как дату:
Примечание: если дата определилась как текст, то вы не сможете делать группировки. При этом дата будет выровнена по левому краю. Excel выравнивает числа и даты по правому краю.
Синтаксис
=DATE(year, month, day) – английская версия
=ДАТА(год; месяц; день) – русская версия
Аргументы
- Year (Год) – значение года, которое важно отобразить в дате;
- Month (Месяц) – значение месяца, которое важно отобразить в дате;
- Day (День) – значение дня, которое важно отобразить в дате.
Вставка текущей даты и времени.
В Microsoft Excel вы можете сделать это в виде статического или динамического значения.
Как вставить сегодняшнюю дату как статическую отметку.
Для начала давайте определим, что такое отметка времени. Отметка времени фиксирует «статическую точку», которая не изменится с течением времени или при пересчете электронной таблицы. Она навсегда зафиксирует тот момент, когда ее записали.
Таким образом, если ваша цель – поставить текущую дату и/или время в качестве статического значения, которое никогда не будет автоматически обновляться, вы можете использовать одно из следующих сочетаний клавиш:
- Ctrl + ; (в английской раскладке) или Ctrl+Shift+4 (в русской раскладке) вставляет сегодняшнюю дату в ячейку.
- Ctrl + Shift + ; (в английской раскладке) или Ctrl+Shift+6 (в русской раскладке) записывает текущее время.
- Чтобы вставить текущую дату и время, нажмите Ctrl + ; затем нажмите клавишу пробела, а затем Ctrl + Shift +;
Скажу прямо, не все бывает гладко с этими быстрыми клавишами. Но по моим наблюдениям, если при загрузке файла у вас на клавиатуре был включен английский, то срабатывают комбинации клавиш на английском – какой бы язык бы потом не переключили для работы. То же самое – с русским.
Как сделать, чтобы дата оставалась актуальной?
Если вы хотите вставить текущую дату, которая всегда будет оставаться актуальной, используйте одну из следующих функций:
- =СЕГОДНЯ()- вставляет сегодняшнюю дату.
- =ТДАТА()- использует текущие дату и время.
В отличие от нажатия специальных клавиш, функции ТДАТА и СЕГОДНЯ всегда возвращают актуальные данные.
А если нужно вставить текущее время?
Здесь рекомендации зависят от того, что вы далее собираетесь с этим делать. Если нужно просто показать время в таблице, то достаточно функции ТДАТА() и затем установить для этой ячейки формат «Время».
Если же далее на основе этого вы планируете производить какие-то вычисления, то тогда, возможно, вам будет лучше использовать формулу
=ТДАТА()-СЕГОДНЯ()
В результате количество дней будет равно нулю, останется только время. Ну и формат времени все равно нужно применить.
При использовании формул имейте в виду, что:
- Возвращаемые значения не обновляются непрерывно, они изменяются только при повторном открытии или пересчете электронной таблицы или при запуске макроса, содержащего функцию.
- Функции берут всю информацию из системных часов вашего компьютера.
Как поставить неизменную отметку времени автоматически формулами?
Допустим, у вас есть список товаров в столбце A, и, как только один из них будет отправлен заказчику, вы вводите «Да» в колонке «Доставка», то есть в столбце B. Как только «Да» появится там, вы хотите автоматически зафиксировать в колонке С время, когда это произошло. И менять его уже не нужно.
Для этого мы попробуем использовать вложенную функцию ИЛИ с циклическими ссылками во второй ее части:
=ЕСЛИ(B2=”Да”; ЕСЛИ(C2=””;ТДАТА(); C2); “”)
Где B – это колонка подтверждения доставки, а C2 – это ячейка, в которую вы вводите формулу и где в конечном итоге появится статичная отметка времени.
В приведенной выше формуле первая функция ЕСЛИ проверяет B2 на наличие слова «Да» (или любого другого текста, который вы решите ввести). И если указанный текст присутствует, она запускает вторую функцию ЕСЛИ. В противном случае возвращает пустое значение. Вторая ЕСЛИ – это циклическая формула, которая заставляет функцию ТДАТА() возвращать сегодняшний день и время, только если в C2 еще ничего не записано. А если там уже что-то есть, то ничего не изменится, сохранив таким образом все существующие метки.
О работе с функцией ЕСЛИ читайте более подробно здесь.
Если вместо проверки какого-либо конкретного слова вы хотите, чтобы временная метка появлялась, когда вы хоть что-нибудь пишете в указанную ячейку (это может быть любое число, текст или дата), то немного изменим первую функцию ЕСЛИ для проверки непустой ячейки:
=ЕСЛИ(B2<>””; ЕСЛИ(C2=””;ТДАТА(); C2); “”)
Примечание. Чтобы эта формула работала, вы должны разрешить циклические вычисления на своем рабочем листе (вкладка Файл – параметры – Формулы – Включить интерактивные вычисления). Также имейте в виду, что в основном не рекомендуется делать так, чтобы ячейка ссылалась сама на себя, то есть создавать циклические ссылки. И если вы решите использовать это решение в своих таблицах, то это на ваш страх и риск.
Складывать и вычитать календарные дни
Excel позволяет добавлять к дате и вычитать из нее нужное количество дней. Никаких специальных формул для этого не нужно. Достаточно сложить ячейку, в которую ввели дату, и необходимое число суток.
Например, вам необходимо создать резерв по сомнительным долгам в налоговом учете. В том числе нужно просчитать, когда у покупателя возникнет задолженность со сроком 45 дней после дня реализации. Для этого в одну ячейку внесите дату отгрузки. К примеру, это ячейка D2. Тогда формула будет выглядеть так: =D2+45. Вычитаются дни по аналогичному принципу. Главное, чтобы ячейка с датой, к которой будете прибавлять число, имела правильный формат. Чтобы это проверить, нажмите правой кнопкой мыши на ячейку, выберите «Формат ячеек» и удостоверьтесь, что установлен формат «Дата».
Как выглядит формат ячейки в Excel
Таким же образом можно посчитать и количество дней между двумя датами. Просто вычтите из более поздней даты более раннюю. Результат Excel покажет в виде числа, поэтому ячейку с итогом переведите в общий формат: вместо «Дата» выберите «Общий».
К примеру, необходимо посчитать, сколько календарных дней пройдет с 05.11.2019 по 31.12.2019. Для этого введите эти даты в разные ячейки, а в отдельной ячейке поставьте знак «=». Затем вычтите из декабрьской даты ноябрьскую. Получится 56 дней. Помните, что в этом случае в подсчет войдет последний день, но не войдет первый. Если вам необходимо, чтобы итог включал оба дня, прибавьте к формуле единицу. Если же, наоборот, нужно посчитать количество дней без учета обеих дат, то единицу необходимо вычесть.
Добавить к дате рабочие дни
Функция РАБДЕНЬ позволяет точно посчитать дату через нужное количество рабочих дней. Эта функция состоит из трех элементов:
- начальная дата – ставят ссылку на ячейку с датой, к которой функция будет прибавлять рабочие дни;
- число рабочих дней – ставят количество рабочих дней, которое необходимо прибавить к начальной дате;
- праздники (необязательный) – ставят ссылку на диапазон с датами праздников.
Например, директор дал вам поручение, которое необходимо выполнить за 25 рабочих дней. Допустим, сегодня вторник, 5 ноября 2019 года. Эту дату вносим в ячейку A1. Функция =РАБДЕНЬ(A1;25) определит крайний день, когда вы должны его выполнить, — 10 декабря 2019 года. При этом не забудьте поставить в ячейке с результатом формат «Дата».
Помните, что функция РАБДЕНЬ автоматически убирает из подсчетов только субботы и воскресенья. О праздниках Excel не знает. Их нужно заносить в функцию вручную. Чтобы вы не запутались, мы подготовили файл, в который уже внесли все праздники 2020 года. Ищите его в электронной версии статьи.
Как прибавить (вычесть) несколько недель к дате
Когда требуется прибавить (вычесть) несколько недель к определенной дате, Вы можете воспользоваться теми же формулами, что и раньше. Просто нужно умножить количество недель на 7:
- Прибавляем N недель к дате в Excel:
= A2 + N недель * 7
Например, чтобы прибавить 3 недели к дате в ячейке А2, используйте следующую формулу:
=A2+3*7
- Вычитаем N недель из даты в Excel:
= А2 - N недель * 7
Чтобы вычесть 2 недели из сегодняшней даты, используйте эту формулу:
=СЕГОДНЯ()-2*7
=TODAY()-2*7
Добавление лет к датам в Excel осуществляется так же, как добавление месяцев. Вам необходимо снова использовать функцию ДАТА (DATE), но на этот раз нужно указать количество лет, которые Вы хотите добавить:
= ДАТА(ГОД(дата) + N летдатадата))
= DATE(YEAR(дата) + N лет, MONTH(дата), DAY(дата))
На листе Excel, формулы могут выглядеть следующим образом:
- Прибавляем 5 лет к дате, указанной в ячейке A2:
=ДАТА(ГОД(A2)+5;МЕСЯЦ(A2);ДЕНЬ(A2))
=DATE(YEAR(A2)+5,MONTH(A2),DAY(A2))
- Вычитаем 5 лет из даты, указанной в ячейке A2:
=ДАТА(ГОД(A2)-5;МЕСЯЦ(A2);ДЕНЬ(A2))
=DATE(YEAR(A2)-5,MONTH(A2),DAY(A2))
Чтобы получить универсальную формулу, Вы можете ввести количество лет в ячейку, а затем в формуле обратиться к этой ячейке. Положительное число позволит прибавить годы к дате, а отрицательное – вычесть.
Как отличить обычные даты Excel от «текстовых дат»
Импортированные данные (или данные, введенные неправильно) могут выглядеть как обычные даты Excel, но они не ведут себя так, как выглядят. Microsoft Excel обрабатывает такие записи как текст. Поэтому вы не сможете правильно отсортировать таблицу в хронологическом порядке, а также использовать эти «неправильные даты» в формулах, сводных таблицах, диаграммах или любом другом инструменте Excel, который работает с временем.
Сначала давайте изучим несколько признаков, которые могут помочь определить, записана в ячейке датировка либо текст.
Даты |
Текстовые значения |
· Выровнено по правому краю. · Указан формат даты в поле «Числовой формат» на вкладке «Главная » — «Число» . |
· По левому краю по умолчанию. · Общий формат отображается в поле «Число» на вкладке «Главная» — «Число». ·В строке формул может быть виден апостроф перед содержимым ячейки. |
Их можно легко распознать, немного расширив столбцы, выделив один из них, выбрав команду Формат ► Ячейки ► Выравнивание (Format ► Cells ► Alignment) и для параметра По горизонтали (Horizontal) выбрав значение Общий (General) (это вид ячеек по умолчанию). Щелкните кнопку ОК и внимательно просмотрите на таблицу. Если какие-либо значения не выровнены по правому краю, значит Excel не считает их датами.
Как конвертировать текст в дату в Excel
Когда возникает подобная проблема, скорее всего, вы захотите перевести эти текстовые значения в обычные даты Excel, чтобы вы могли ссылаться на них в формулах для выполнения различных вычислений. И, как это часто бывает в Экселе, есть несколько способов решения этой задачи.
Математические операции для преобразования текста в дату
Помимо использования функций Excel, о которых мы говорили чуть выше, вы можете выполнить простую математическую операцию, чтобы заставить программу выполнить реорганизацию строки в дату. Обязательное условие: операция не должна изменять ее значение (порядковый номер дня). Звучит немного сложно? Следующие примеры помогут разобраться!
Предполагая, что ваши данные находятся в ячейке A1, вы можете использовать любую из следующих формул, а затем применить формат даты к ячейке:
- Сложение: =A1 + 0
- Умножение: =A1 * 1
- Деление: =A1 / 1
- Двойное отрицание: =–A1
Как вы можете убедиться, математические операции могут помочь с датами (строки 3,4.,5,7), временем (строки 2 и 6), а также числами, отформатированными как текст (строка 8).
Иногда результат даже отображается в виде даты автоматически, и вам не нужно беспокоиться об изменении формата ячейки.
Как превратить текстовые строки с пользовательскими разделителями в даты
Если запись содержит какой-либо разделитель, отличный от косой черты (/) или тире (-), функции Excel не смогут распознать их как даты и вернут ошибку #ЗНАЧ!. Чаще всего такие «неправильные» разделители – это пробел и запятая.
Чтобы это исправить, вы можете запустить инструмент поиска и замены, чтобы заменить этот неподходящий разделитель, к примеру, косой чертой (/):
- Выберите все ячейки, которые вы хотите превратить в даты.
- Нажмите Ctrl + H, чтобы открыть диалоговое окно «Найти и заменить».
- Введите свой пользовательский разделитель (запятую, к примеру) в поле Найти и косую черту в Заменить.
- Нажмите Заменить все.
Теперь у ДАТАЗНАЧ или ЗНАЧЕН должно быть проблем с конвертацией текстовых строк в даты. Таким же образом вы можете исправить записи, содержащие любой другой разделитель, например, пробел или обратную косую черту.
Если вы предпочитаете решение на основе формул, вы можете использовать функцию ПОДСТАВИТЬ (SUBSTITUTE в английской версии), как это мы делали на одном из скриншотов ранее:
=ДАТАЗНАЧ(ПОДСТАВИТЬ(A12;”,”;”.”))
И текстовые строки преобразуются в даты, все при помощи одной формулы.
Как видите, функции ДАТАЗНАЧ или ЗНАЧЕН довольно мощные, но они, к сожалению, имеют свои ограничения. Например, если вы пытаетесь работать со сложными конструкциями, такими как четверг, 01 января 2015 г., ни одна из них не сможет помочь.
К счастью, есть решение без формул, которое может справиться с этой задачей, и следующий раздел даст нам пошаговое руководство.
Исправление записей с двузначными годами.
Современные версии Microsoft Excel достаточно умны, чтобы обнаружить некоторые очевидные ошибки в ваших данных, или, точнее, сказать, что Эксель считает ошибкой. Когда это произойдет, вы увидите индикатор ошибки (маленький зеленый треугольник) в верхнем левом углу клетки, и, когда вы выделите её, появится восклицательный знак.
При нажатии на восклицательный знак отобразятся несколько параметров, относящихся к вашим данным. В случае двухзначного года программа спросит, хотите ли вы преобразовать его в 19XX или 20XX.
Если у вас имеется несколько записей этого типа, вы можете исправить их все одним махом – выделите все ячейки с ошибками, затем нажмите на восклицательный знак и выберите соответствующую опцию.
Источники
- https://micro-solution.ru/excel/formatting/custom-format
- https://www.planetaexcel.ru/techniques/6/88/
- https://exceltable.com/funkcii-excel/funkcii-raboty-datami
- https://lumpics.ru/functions-date-and-time-in-excel/
- https://zen.yandex.ru/media/id/5a25282b7800192677cc044f/5dea1b66e4fff000adb66297
- https://mister-office.ru/funktsii-excel/if-with-dates.html
- https://needfordata.ru/blog/rabota-s-datami-v-excel-ustranenie-tipovyh-oshibok
- https://excelhack.ru/data-funkciya-v-excel/
- https://mister-office.ru/formuly-excel/insert-dates-excel.html
- https://zen.yandex.ru/media/id/593a7db8d7d0a6439bc26099/5e254f062b61697618a72b0c
- https://office-guru.ru/excel/kak-skladyvat-i-vychitat-daty-dni-nedeli-mesjacy-i-gody-v-excel-438.html
- https://mister-office.ru/excel/convert-text-date.html
Skip to content
Сейчас вы научитесь использовать функции Excel для преобразования текста в дату. Вы также узнаете, как это сделать без использования формул.
Поскольку Excel — не единственное приложение, которое вы используете, иногда вы работаете с данными, импортированными из файла .csv или другого внешнего источника (1С, например). Когда это произойдет, скорее всего, даты будут вставлены в вашу таблицу в виде текстовых записей. Хотя они внешне выглядят как даты, Excel не распознает их как таковые.
И вот о чём мы поговорим:
- Как отличить обычные даты Excel от «текстовых дат»
- Форматирование в дату
- Функция ДАТАЗНАЧ
- Функция ЗНАЧЕН
- Как математические операции преобразуют текст в дату
- Как обойти нестандартные разделители
- Как можно использовать мастер преобразования текста в столбцы
- Как преобразовать текст в дату при помощи формул
- Быстрая конвертация при помощи Специальной вставки
- Исправление записей с двузначными годами
- Как преобразовать 8-значное число в дату
- Простой способ преобразования текста в дату без формул
Существует много способов, как в Excel преобразовать текст в дату, и это небольшое руководство должно вам помочь выбрать метод, наиболее подходящий для вашего формата данных и предпочтений работы — с формулами или без них.
Как отличить обычные даты Excel от «текстовых дат»
Импортированные данные (или данные, введенные неправильно) могут выглядеть как обычные даты Excel, но они не ведут себя так, как выглядят. Microsoft Excel обрабатывает такие записи как текст. Поэтому вы не сможете правильно отсортировать таблицу в хронологическом порядке, а также использовать эти «неправильные даты» в формулах, сводных таблицах, диаграммах или любом другом инструменте Excel, который работает с временем.
Сначала давайте изучим несколько признаков, которые могут помочь определить, записана в ячейке датировка либо текст.
Даты | Текстовые значения |
• По умолчанию выравнивание по правому краю. |
· • По умолчанию выравнивание по левому краю. |
Их можно легко распознать, немного расширив столбцы, выделив один из них, выбрав команду Формат ► Ячейки ► Выравнивание (Format ► Cells ► Alignment) и для параметра По горизонтали (Horizontal) выбрав значение Общий (General) (это вид ячеек по умолчанию). Щелкните кнопку ОК и внимательно просмотрите на таблицу.
Если какие-либо значения не выровнены по правому краю, значит Excel не считает их датами.
Как можно использовать форматирование.
Поскольку все функции, которые изменяют текст на дату, в результате возвращают число, давайте сначала более подробно рассмотрим преобразование чисел в даты.
Как вы, наверное, знаете, Excel хранит дату и время как порядковые номера дней, и только форматирование ячейки заставляет число отображаться в виде день-месяц-год. Например, 1 января 1900 года сохраняется как номер 1, 2 января 1900 года сохраняется как 2, а 1 января 2015 года сохраняется как 42005. Дополнительные сведения о том, как Excel сохраняет дату и время, см. в статье Форматирование дат.
При вычислении дат в Excel результатом, возвращаемым различными функциями, часто является число, обозначающее дату. Например, если СЕГОДНЯ()+10 возвращает вместо дня, который наступает через 10 после сегодняшнего, число вроде 44294, это не означает, что формула неверна. Просто формат ячейки установлен на Общий или Текст, тогда как это должно быть Дата.
Чтобы преобразовать такой порядковый номер в день-месяц-год, все, что вам нужно сделать, это изменить формат представления. Для этого просто выберите «Дата» в поле «Числовой формат» на вкладке «Главная».
Чтобы применить нестандартный формат, отличный от формата по умолчанию, выберите ячейки с такими числами и нажмите комбинацию клавиш Ctrl + 1, чтобы открыть диалоговое окно «Формат ячеек». На вкладке «Число» выберите «Дата», укажите нужный формат даты в разделе «Тип» и нажмите «ОК».
Если вам нужно что-то более сложное, чем стандартные форматы даты, ознакомьтесь с информацией о том, как создать собственный формат даты в Excel.
Если какое-то упрямое число отказывается заменяться датой, проверьте, почему не работает формат даты — советы по устранению неполадок .
Когда возникает подобная проблема, скорее всего, вы захотите перевести эти текстовые значения в обычные даты Excel, чтобы вы могли ссылаться на них в формулах для выполнения различных вычислений. И, как это часто бывает в Экселе, есть несколько способов решения этой задачи.
Функция Excel ДАТАЗНАЧ — изменить текст на дату
Функция ДАТАЗНАЧ (DATEVALUE в английской версии) переделает «дату-как текст» в порядковый номер дня, который Excel распознает как дату.
Синтаксис ДАТАЗНАЧ очень прост:
=ДАТАЗНАЧ(дата_как_текст)
Самое простое применение этой функции =ДАТАЗНАЧ(A1), где A1 — это ячейка с датой, хранящейся в виде символьной строки.
Поскольку эта операция преобразует текст в порядковый номер дня, вам придется ещё применить к нему соответствующий формат представления. А иногда программа может сделать это автоматически за вас.
На скриншоте представлено несколько формул ДАТАЗНАЧ в действии:
На первый взгляд, результат работы может выглядеть для вас довольно неожиданным. Вы его видите на скриншоте в колонке С. Но пусть это вас не смущает: нужно просто применить нужное форматирование. Как видите, результат работы формулы – это порядковый номер дня начиная с 1900 года (столбец С). И если мы к нему применим правильный формат, то есть укажем программе, что это на самом деле не число, а день, то сразу же получим приемлемый результат (колонка D).
Итак, в столбце D показан результат из С, только уже как дата.
Как вы, наверное, знаете, Excel хранит датировки и время как порядковые номера, и только форматирование ячейки заставляет число отображаться в виде даты. В частности, 1 января 1900 года хранится как число 1, а 2 января 1900 года хранится как 2. Соответственно, 8 марта 2020 года хранится как 43898. Чтобы превратить такой серийный номер в дату, все, что вам нужно сделать — это изменить формат ячейки.
Для этого выберите клетку или диапазон ячеек с числами, которые вы хотите представить как даты, и нажмите комбинацию клавиш Ctrl + 1, чтобы открыть диалоговое окно «Формат ячеек». На вкладке «Числовые форматы» в пункте «Дата», выберите подходящий для вас внешний вид в разделе «Тип» и нажмите кнопку «ОК».
Обратите также внимание, что не с любым текстом можно провести подобную операцию. Если Эксель не может с ним справиться, то возвращает ошибку #ЗНАЧ! (см. метку 3 на рисунке выше)
Кроме того, если по какой-то причине у вас вместо точек использованы запятые, то при помощи функции ПОДСТАВИТЬ сразу замените их на точки – и всё будет в порядке.
Функция ДАТАЗНАЧ — что нужно запомнить?
При конвертации текстовой строки в дату имейте в виду, что:
- Информация о времени в текстовых значениях игнорируется, как вы можете видеть в строках 2 и 6 на рисунке выше (1). Чтобы превратить такие значения, содержащие даты и время, используйте функцию ЗНАЧЕН.
- Если в «текстовой дате» пропущен год, ДАТАЗНАЧ подставит текущий год из системного времени вашего компьютера, как показано в строке 3 выше (2).
- Поскольку Microsoft Excel начинает свой отсчет времени только с 1 января 1900 года, использование ДАТАЗНАЧ с более ранним возрастом приведет к ошибке #ЗНАЧ!.
- Любое значение, связанное со временем, хранится в Excel как число. Но ДАТАЗНАЧ не может превратить числовое значение в показатель времени и не может обработать текст, который выглядит как число. Для этого вам нужно будет использовать функцию ЗНАЧЕН. И это именно то, что мы собираемся обсудить далее.
Функция ЗНАЧЕН – как конвертировать текст в дату.
По сравнению с ДАТАЗНАЧ, функция ЗНАЧЕН более универсальна. Она может конвертировать любую строку, которая выглядит как дата или число, в настоящее число, которое затем вы можете легко вывести как дату.
Синтаксис здесь следующий:
=ЗНАЧЕН(текст)
Где текст – это строка или ссылка на ячейку, содержащую символы, которые вы хотите превратить в число.
Функция ЗНАЧЕН() может обрабатывать как дату, так и время. Последнее преобразуется в десятичную часть числа, как вы можете видеть в строке 11 на следующем скриншоте:
Как видите, результаты те же, что и в примере выше. Только ещё и время определено и обработано правильно.
Однако, к сожалению, такие данные, пригодные для обработки функцией ЗНАЧЕН(), встречаются на практике не слишком часто. Разработчики различного программного обеспечения стремятся проявить фантазию, записывая в свои отчеты дату и время операции. И когда эти отчеты мы хотим обработать в Excel, возникает множество проблем.
Остановимся на наиболее типичных из них и попробуем показать пути решения.
Математические операции для преобразования текста в дату
Помимо использования функций Excel, о которых мы говорили чуть выше, вы можете выполнить простую математическую операцию, чтобы заставить программу выполнить реорганизацию строки в дату. Обязательное условие: операция не должна изменять ее значение (порядковый номер дня). Звучит немного сложно? Следующие примеры помогут разобраться!
Предполагая, что ваши данные находятся в ячейке A1, вы можете использовать любую из следующих формул, а затем применить формат даты к ячейке:
- Сложение: =A1 + 0
- Умножение: =A1 * 1
- Деление: =A1 / 1
- Двойное отрицание: =—A1
Как вы можете убедиться, математические операции могут помочь с датами (строки 3,4.,5,7), временем (строки 2 и 6), а также числами, отформатированными как текст (строка 8).
Иногда результат даже отображается в виде даты автоматически, и вам не нужно беспокоиться об изменении формата ячейки.
Как обойти нестандартные разделители
Если запись содержит какой-либо разделитель, отличный от косой черты (/) или тире (-), функции Excel не смогут распознать их как даты и вернут ошибку #ЗНАЧ!. Чаще всего такие «неправильные» разделители – это пробел и запятая.
Чтобы это исправить, вы можете запустить инструмент поиска и замены, чтобы заменить этот неподходящий разделитель, к примеру, косой чертой (/):
- Выберите все ячейки, которые вы хотите превратить в даты.
- Нажмите Ctrl + H, чтобы открыть диалоговое окно «Найти и заменить».
- Введите свой пользовательский разделитель (запятую, к примеру) в поле Найти и косую черту в Заменить.
- Нажмите Заменить все.
Теперь у ДАТАЗНАЧ или ЗНАЧЕН должно быть проблем с конвертацией текстовых строк в даты. Таким же образом вы можете исправить записи, содержащие любой другой разделитель, например, пробел или обратную косую черту.
Если вы предпочитаете решение на основе формул, вы можете использовать функцию ПОДСТАВИТЬ (SUBSTITUTE в английской версии), как это мы делали на одном из скриншотов ранее:
=ДАТАЗНАЧ(ПОДСТАВИТЬ(A6;»,»;».»))
И текстовые строки преобразуются в даты, все при помощи одной формулы.
Как видите, функции ДАТАЗНАЧ или ЗНАЧЕН довольно мощные, но они, к сожалению, имеют свои ограничения. Например, если вы пытаетесь работать со сложными конструкциями, такими как четверг, 01 января 2021 г., ни одна из них не сможет помочь.
К счастью, есть решение без формул, которое может справиться с этой задачей, и следующий раздел даст нам пошаговое руководство.
Мастер преобразования текста в столбцы — не требующий формул способ преобразования текста в дату.
Вам пригодится достаточно древний инструмент Excel под названием «Текст в столбцы». Он умеет работать как с простыми текстовыми датами, так и с текстовыми строками из нескольких частей.
Пример 1. Преобразование простых текстовых строк в даты.
В этом примере мы будем превращать текстовые строки, например 01 01 2015 (день, месяц и год разделены пробелами), в даты.
- На рабочем листе выберите столбец, содержимое которого вы хотите конвертировать.
- Перейдите на вкладку «Данные», и нажмите «Текст по столбцам».
- На шаге 1 мастера преобразования текста в столбцы выберите «С разделителями» и нажмите «Далее».
- На шаге 2 мастера снимите флажки со всех разделителей и нажмите Далее.
- На последнем шаге выберите «Дата» в разделе «Формат данных столбца», укажите в выпадающем списке вид, соответствующий вашим данным. Нажмите «Готово».
Теперь Excel распознает ваши текстовые значения как нужно, автоматически преобразует их в формат даты по умолчанию и отобразит в ячейках с выравниванием по правому краю.
Вы можете изменить представление результата обычным способом через диалог Формат ячеек.
Заметка. Для правильной работы мастера «Текст по столбцам» все записи должны быть единообразными. Например, если некоторые из них выглядят как день / месяц / год , а другие — месяц / день / год , вы получите неверные результаты.
Пример 2. Преобразование сложных текстовых строк в даты.
Если ваши записи представлены более сложной фразой из нескольких частей, к примеру:
- 8 март 2020 г., воскресенье
- 8 март 2020 г. 15:00
Вам нужно будет приложить немного больше усилий и использовать рассматриваемый нами инструмент в комбинации с функцией ДАТА.
Важно! Название месяца при использовании этого метода должно быть в именительном падеже!
- Выберите нужную область данных.
- Вызовите мастер преобразования.
- На шаге 1 укажите «С разделителями» и нажмите « Далее» .
- На шаге 2 мастера выберите разделители, которые у вас используются.
Например, если вы преобразуете строки, разделенные запятыми и пробелами, например «8 март 2020г., воскресенье», то вам следует выбрать оба разделителя — запятую и пробел.
Также имеет смысл выбрать опцию «Считать последовательные разделители одним», чтобы игнорировать лишние пробелы или пробел после запятой, если они есть в ваших данных.
Я немного усложнил наш пример, добавив после порядкового номера года еще букву «г» с точкой. Поэтому эта буква и добавлена в список разделителей.
И, наконец, взгляните на окно Образец разбора данных и проверьте, правильно ли поделены ваши слова на столбцы. Затем нажмите «Далее».
- На шаге 3 мастера убедитесь, что все колонки в разделе предварительного просмотра данных имеют формат «Общий». Если это не так, щелкните столбец и выберите Общий в разделе Формат данных.
Заметка. Не выбирайте формат «Дата», поскольку каждый столбец содержит только ее часть. Поэтому Excel не сможет понять, что вы на самом деле хотите сделать.
Если вам не нужен какой-то из столбцов, щелкните по нему и выберите «Пропустить».
Как видите, я буду использовать только три первых столбца, а два последних не нужны.
Если вы не хотите перезаписывать исходные данные, укажите, где именно должны быть вставлены результаты — введите адрес верхней левой ячейки в поле «Поместить в…». Выбираем ячейку B2.
Когда закончите, нажмите кнопку Готово.
Как вы видите на скриншоте выше, мы пропускаем четвертую и пятую колонки с точкой и днями недели, разделяем остальные данные на 3 столбца (в общем формате) и вставляем их, начиная с ячейки В2.
На следующем рисунке показан результат с исходными данными в A и разделенными на части данными в В, C и D.
- Наконец, вы должны объединить эти кусочки вместе, используя функцию ДАТА (DATE). Синтаксис её не требует особых пояснений:
=ДАТА(год, месяц, день)
В нашем случае год записан в колонке D и день — в В, с этим проблем нет.
Но не так просто с месяцем, потому что это слово, а нужен его номер. К счастью, Microsoft Excel предоставляет специальную функцию МЕСЯЦ (MONTH), которая может изменить название месяца на его порядковый номер:
=МЕСЯЦ(порядковый_номер)
Чтобы функция МЕСЯЦ понимала, что она имеет дело с датой, мы выражаем это так:
=МЕСЯЦ(1&C2)
Здесь C2 содержит название месяца, март в нашем случае. «1 &» добавляется для получения даты (1 март), чтобы формула могла превратить ее в соответствующий номер месяца. Повторюсь еще раз, что месяц должен быть здесь в именительном падеже, что не всегда удобно.
А теперь давайте встроим это выражение в качестве второго аргумента:
=ДАТА(D2;МЕСЯЦ(1&C2);B2)
И вуаля, наши сложные комбинации слов и цифр успешно становятся датами:
Как преобразовать текст в дату при помощи формул.
Разберем еще один способ как превратить сложную формулировку в дату. В колонке А записаны датировки как текстовые выражения вида «08 марта 2020г.». Сразу отметим, что записи должны быть единообразны, то есть все числа сохранены в двузначном виде: 01, 07, 08, 10, 12 и т.д.
Используем формулы работы с символьными значениями — ЛЕВСИМВ, ПРАВСИМВ, ПСТР. Они позволяют извлечь определенное количество символов с начала текстовой строки, с конца или с середины.
Наша задача – разобрать текст на части, из которых затем «склеить» дату.
Используем формулу:
=ДАТАЗНАЧ(ЛЕВСИМВ(A2;2)&»-«&ПСТР(ЛЕВСИМВ(A2;6);4;3)&»-«&ПСТР(ПРАВСИМВ(A2;6);1;4))
Давайте разбираться, как это работает.
ЛЕВСИМВ(A2;2) — извлекаем 2 первых символа, то есть число.
ПСТР(ЛЕВСИМВ(A2;6);4;3) — получаем 3 первых буквы названия месяца.
ПСТР(ПРАВСИМВ(A2;6);1;4) — выводим 4 цифры года.
И объединяем все это при помощи оператора &, вставляя между этими частями тире.
Можно записать и чуть иначе:
=ДАТАЗНАЧ(ЛЕВСИМВ(A2;2)&»-«&ПСТР(A2;4;3)&»-«&ЛЕВСИМВ(ПРАВСИМВ(A2;6;4))
В английской версии:
=DATEVALUE(LEFT(A2,2)&»-«&MID(A2,4,3)&»-«&LEFT(RIGHT(A2,6),4))
Как извлечь дату из сложного текста при помощи формул?
При переносе в Excel различных бухгалтерских данных мы постоянно убеждаемся в том, что фантазия наших бухгалтеров поистине безгранична. В том числе это касается и написания датировок в пояснениях к бухгалтерским проводкам.
Вот несколько готовых решений, которые вам, возможно, пригодятся.
Давайте попробуем вытащить дату из пояснения к бухгалтерским проводкам. Как видите, варианты написания могут быть самые разнообразные. Единственное условие – день должен быть записан в виде двузначного числа: 07 в нашем случае.
Формула, при помощи которой можно извлечь дату из текста, выглядит так:
- если у вас двумя цифрами обозначены день и месяц, и четырьмя – год:
=ПСТР(A2;ПОИСК(«??.??.????»;A2);10)
- а вот если год – либо последние две, либо все четыре цифры, тогда есть более универсальный вариант:
=—ПСТР(A2;ПОИСК(«??.??.»;A2);8+2*ЕЧИСЛО(-ПСТР(A2;ПОИСК(«.??.»;A2)+6;1)))
Как должен выглядеть результат в ячейке — определите самостоятельно. Как именно – мы уже несколько раз разбирали. Смотрите чуть выше.
А если сделать так, чтобы и внешний вид извлеченной даты также устанавливался не вручную, а при помощи формулы? Здесь нам поможет функция ТЕКСТ.
Самый базовый вариант представления выглядит так:
=ТЕКСТ(ПСТР(A1;ПОИСК(«??.??.»;A1);8)&ТЕКСТ(ПСТР(A1;ПОИСК(«.??.»;A1)+6;2);»0;;;»);»DD MMMM YYYY»)
Как видите, вся хитрость заключается в правильном описании формата во втором аргументе. «DD MMMM YYYY» означает число, месяц в именительном падеже и год из четырёх цифр. А вот «[$-FC19]DD MMMM YYYY» сделает то же самое, но месяц будет в родительном падеже (7 ноября). Остальные варианты вы видите на рисунке выше. Можете сами выбрать тот, который больше подходит для ваших задач.
Ну а если день у вас может быть записан и одной цифрой, и двузначным числом? И здесь есть универсальный вариант. Правда, более сложный.
Здесь применяем формулу массива.
{=ЕСЛИОШИБКА(—ЛЕВСИМВ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПСТР(A2;МИН(ЕСЛИОШИБКА(НАЙТИ(ТЕКСТ(СТРОКА($A$2:$A$363);{«dd.mm.»;»d.mm.»;»dd/mm/»;»d/mm/»});A2);9^9));10);» «;» «);»г»;» «);10);»»)}
Естественно, скобки вводить не нужно: они появятся автоматически после того, как вы в конце ввода формулы нажмете комбинацию клавиш CRTR+SHIFT+ENTER.
Как видите, здесь мы постарались охватить практически все возможные варианты написания. Внешний вид ячеек с результатом вам нужно вновь установить вручную. Ну а если необходимо это сделать автоматически, то вновь используйте функцию ТЕКСТ, как это сделано чуть выше.
К примеру, чтобы сразу получить «07 ноября 2019 г.», можно изменить наше выражение следующим образом:
{=ТЕКСТ(ЕСЛИОШИБКА(—ЛЕВСИМВ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПСТР(A2;МИН(ЕСЛИОШИБКА(НАЙТИ(ТЕКСТ(СТРОКА($A$2:$A$363);{«dd.mm.»;»d.mm.»;»dd/mm/»;»d/mm/»});A2);9^9));10);» «;» «);»г»;» «);10);»»);»[$-FC19]dd mmmm yyyy г.;@»)}
И не забывайте про формулу массива!
Быстрая конвертация при помощи Специальной вставки.
Чтобы быстро переделать диапазон простых текстовых строк в даты, вы можете использовать следующую хитрость.
- Скопируйте любую пустую ячейку (выделите ее и нажмите Ctrl + C).
- Выберите диапазон с текстовыми значениями, которые вы хотите превратить в даты.
- Щелкните правой кнопкой мыши выделенную область, выберите «Специальная вставка» и выберите «Сложить» в диалоговом окне:
- Нажмите кнопку ОК, чтобы завершить работу и закрыть диалоговое окно.
Что вы только что сделали, это попросили Эксель добавить ноль (пустую ячейку) к вашим текстовым датам. Чтобы выполнить это, программа конвертирует текст в число, и, поскольку добавление нуля не приводит к изменению значения, вы получаете именно то, что хотели — порядковый номер дня.
Как и обычно, далее вы устанавливаете для этих ячеек нужный вид с помощью диалогового окна «Формат ячеек».
Исправление записей с двузначными годами.
Современные версии Microsoft Excel достаточно умны, чтобы обнаружить некоторые очевидные ошибки в ваших данных, или, точнее, сказать, что Эксель считает ошибкой. Когда это произойдет, вы увидите индикатор ошибки (маленький зеленый треугольник) в верхнем левом углу клетки, и, когда вы выделите её, появится восклицательный знак.
При нажатии на восклицательный знак отобразятся несколько параметров, относящихся к вашим данным. В случае двухзначного года программа спросит, хотите ли вы преобразовать его в 19XX или 20XX.
Если у вас имеется несколько записей этого типа, вы можете исправить их все одним махом — выделите все ячейки с ошибками, затем нажмите на восклицательный знак и выберите соответствующую опцию.
Как преобразовать 8-значное число в дату в Excel
Это очень распространенная ситуация, когда дата вводится как 8-значное число, например 10032021. Вам необходимо преобразовать ее в такой вид, который может распознать Excel (то есть, 20.03.2021). В этом случае простое изменение формата ячейки на «Дата» не пройдёт – в результате вы получите ##########.
Чтобы преобразовать это в дату, вам нужно будет использовать функцию ДАТА() в сочетании с функциями ПРАВСИМВ(), ЛЕВСИМВ() и ПСТР(). К сожалению, невозможно составить универсальную формулу, которая будет работать во всех сценариях, потому что исходное значение может быть введено самыми разными способами. Например:
Число | Формат | Дата |
20032021 | ддммгггг | 20-мар-2021 |
20210320 | ггггммдд | |
20212003 | ггггддмм |
Я постараюсь объяснить общий подход к преобразованию таких чисел в даты и приведу несколько примеров формул.
Для начала запомните порядок аргументов функции ДАТА():
=ДАТА(год; месяц; день)
Итак, что вам нужно сделать, так это извлечь год, месяц и день из исходного числа и передать их в качестве соответствующих аргументов функции ДАТА().
Например, давайте посмотрим, как преобразовать число 20032021 (хранящееся в ячейке A2) в 20.03.2021.
- Извлекаем год. Это последние 4 цифры, поэтому мы используем функцию ПРАВСИМВ, чтобы выбрать последние 4 символа: ПРАВСИМВ(A2; 4).
- Месяц. Это третья и четвёртая цифры, поэтому мы используем функцию ПСТР, чтобы получить их: ПСТР(A2;3;2). Здесь цифра 3 (второй аргумент) – это начальная позиция, а 2 – это количество символов, которые нужно извлечь.
- День. Это первые две цифры, поэтому у нас есть функция ЛЕВСИМВ, которая возвращает их: ЛЕВСИМВ(A2;2).
Наконец, вставьте указанные выше элементы в функцию ДАТА(), и вы получите формулу для преобразования числа в дату в Excel:
=ДАТА(ПРАВСИМВ(A2;4);ПСТР(A2;3;2);ЛЕВСИМВ(A2;2))
Следующий скриншот демонстрирует это и еще пару выражений в действии:
Обратите внимание на строку 5 на скриншоте выше:
=ДАТА(«20″&ЛЕВСИМВ(A5;2);ПРАВСИМВ(A5;2);ПСТР(A5;3;2))
Исходное число (212003) содержит только два символа, обозначающих год (21). Итак, чтобы получить 2021 год, мы объединяем 20 и 21, используя следующую формулу:
«20»&ЛЕВСИМВ(A5;2)
Если вы не сделаете этого, функция ДАТА() возвратит 1921 год, что немного странно, как будто Microsoft все еще живет в 20-м веке
В том случае, если число представляет собой последовательность ДДММГГГ или ГГГММДД, то для конвертации в дату можно использовать функцию ТЕКСТ().
К примеру, число 20210320 можно преобразовать при помощи формулы
=—ТЕКСТ(A3;»0000/00/00″)
Сначала в нужных местах мы вставляем разделители — наклонную черту. Получаем текст 2021/03/20. А затем производим с ним математическую операцию: дважды умножаем на минус 1. Видя операцию умножения, Excel пытается превратить содержимое ячейки в число. И ему это успешно удается: получаем 44275. Осталось применить подходящий формат даты.
Примечание. Формулы, показанные в этом примере, работают правильно, если все числа, которые вы хотите преобразовать в даты, подчиняются одному и тому же определённому шаблону.
Простой способ преобразования текста в дату без формул.
Как видите, преобразование текста в дату в Excel — далеко не тривиальная операция, выполняемая одним щелчком мыши. Если вас смущают достаточно сложные формулы, позвольте мне показать вам быстрый и простой способ.
Установите надстройку Ultimate Suite (бесплатную пробную версию можно скачать здесь), переключитесь на вкладку AblebitsTools (в ваш Excel будут добавлены 2 новые вкладки, содержащие более 60 очень полезных инструментов) и активируйте инструмент Text to Datе.
Чтобы преобразовать «дату-как-текст» в обычную дату, выполните следующие действия:
- Выделите ячейки с текстовыми данными и нажмите Text to Date .
- Укажите порядок дат (дни, месяцы и годы) в выбранных ячейках.
- Выберите, нужно ли включать время в преобразованные даты.
- Щелкните Преобразовать (Convert).
Вот и все! Результаты конвертации появятся в соседнем столбце, ваши исходные данные сохранятся. Если что-то пойдет не так, вы можете просто удалить их и повторить попытку с другим порядком дат.
А вот пример конвертации текста в дату и время:
Порядок действий тот же, но нужно не забыть снять галочку, чтобы не исключать время из расчётов.
Подсказка. Если вы выбрали преобразование даты и времени, но единицы времени отсутствуют в результатах, обязательно примените в ячейке формат, в котором отображаются как значения даты, так и времени. Дополнительные сведения см. в статье «Как создавать собственные форматы даты и времени» .
Если вам интересно узнать больше об этом замечательном инструменте, посетите его домашнюю страницу.
Итак, мы с вами рассмотрели как в Excel можно различными способами преобразовать текст в дату. Надеюсь, вам удалось найти метод по своему вкусу.
Я благодарю вас за чтение и надеюсь вновь увидеть вас на нашем сайте.
Также рекомендуем: