17 авг. 2022 г.
читать 2 мин
В этом руководстве объясняется, как преобразовать дату в число в трех различных сценариях:
1. Преобразуйте одну дату в число
2. Преобразуйте несколько дат в числа
3. Преобразование даты в количество дней с другой даты
Давайте прыгать!
Пример 1: преобразование одной даты в число
Предположим, мы хотим преобразовать дату «10.02.2022» в число в Excel.
Для этого мы можем использовать функцию ДАТАЗНАЧ в Excel:
=DATEVALUE("2/10/2022")
По умолчанию эта функция вычисляет количество дней между заданной датой и 01.01.1900 .
На следующем снимке экрана показано, как использовать эту функцию на практике:
Это говорит нам о том, что между 10.02.2022 и 01.01.1900 существует разница в 44 602 дня.
Пример 2. Преобразование нескольких дат в числа
Предположим, у нас есть следующий список дат в Excel:
Чтобы преобразовать каждую из этих дат в число, мы можем выделить диапазон ячеек, содержащих даты, затем щелкнуть раскрывающееся меню «Числовой формат » на вкладке « Главная » и выбрать « Число »:
Это автоматически преобразует каждую дату в число, представляющее количество дней между каждой датой и 01.01.1900 :
Пример 3. Преобразование даты в количество дней, прошедших с другой даты
Мы можем использовать следующую формулу для преобразования даты в количество дней, прошедших с другой даты:
=DATEDIF( B2 , A2 , "d")
Эта конкретная формула вычисляет количество дней между датой в ячейке B2 и датой в ячейке A2 .
На следующем снимке экрана показано, как использовать формулу DATEDIF для расчета количества дней между датами в столбце A и 01.01.2022:
Вот как интерпретировать значения в столбце B:
- Между 01.01.2022 и 01.04.2022 есть 3 дня.
- Между 01.01.2022 и 01.01.2022 8 дней.
- Между 01.01.2022 и 15.01.2022 14 дней.
И так далее.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в Excel:
Как автозаполнять даты в Excel
Как использовать СЧЁТЕСЛИМН с диапазоном дат в Excel
Как рассчитать среднее значение между двумя датами в Excel
Преобразование в Дату в Excel. Бесплатные примеры и статьи.
Функция ЗНАЧЕН() в MS EXCEL
Функция ДАТАЗНАЧ() в MS EXCEL
Единственная задача функции ДАТАЗНАЧ() , английский вариант DATEVALUE(), — преобразовывать даты, которые хранятся в виде текста, в числа, которые соответствуют этим датам. Например, формула ДАТАЗНАЧ(«11.09.2009») возвращает число 40067, соответствующее 11 сентября 2009 года. Но, функция ДАТАЗНАЧ() понимает только определенные форматы записи дат. Например, 2009-сент-11 она не поймет, а 11-сент-2009 — поймет.
Автоматическое преобразование формата ячейки в MS EXCEL при вводе ТЕКСТовых данных (Часть 2)
Продолжаем бороться в MS EXCEL 2007 с автоматическим преобразованием формата ячейки при вводе данных в ячейку. При вводе пользователем данных, EXCEL пытается определить тип вводимых данных. Если данные можно перевести в формат даты, то EXCEL производит соответствующее преобразование и форматирование. Часто текстовые строки действительно имеют формат дат (2-3-8, т.е. 2 марта 2008), но на самом деле ими не являются (например, это м.б. артикул). В этом случае необходимо запретить EXCEL выполнять автоматическое преобразование и форматирование.
Преобразование в MS EXCEL ТЕКСТовых значений в ДАТУ
Бывает, что при экспорте значений в EXCEL, даты записываются в незнакомом для EXCEL формате, например 20081223 (т.е. 2008г, 23 декабря). Для дальнейшей работы с такими датами выполним преобразование в привычный для EXCEL формат даты.
Является ли в MS EXCEL значение ДАТОЙ
Попробуем преобразовать заданное значение в дату. Если это удастся, то будем считать значение датой.
Преобразование ТЕКСТовых значений в ЧИСЛА и ДАТЫ (Часть 2. Групповое изменение в MS EXCEL)
При копировании ЧИСЛОвых данных в EXCEL из других приложений бывает, что Числа сохраняются в ТЕКСТовом формате. Если на листе числовые значения сохранены как текст, то это может привести к ошибкам при выполнении вычислений. В ряде случаев можно быстро изменить текстовый формат на числовой сразу в нескольких ячейках. Произведем это преобразование с помощью Специальной вставки из Буфера обмена.
Преобразование дат из текстового формата в формат даты
В некоторых случаях даты могут быть отформатированы и храниться в ячейках в виде текста. Например, возможно, вы ввели дату в ячейку, отформатированную как текст, или данные были импортированы или вставлены из внешнего источника данных в виде текста.
Даты, отформатированные как текст, выравниваются по левому краю в ячейке (вместо выравнивания по правому краю). Если включена Проверка ошибок , Текстовая дата с двумя цифрами года также может помечаться индикатором ошибки: .
Поскольку функция проверки ошибок в Excel распознает даты в текстовом формате с двузначным номером года, можно воспользоваться средством автозамены и преобразовать их в даты в формате даты. С помощью функции ДАТАЗНАЧ можно преобразовывать в даты большинство типов текстовых дат.
Если вы импортируете данные в Excel из другого источника или вводите даты с двумя цифрами года в ячейки, которые ранее были отформатированы как текст, в левом верхнем углу ячейки может появиться маленький зеленый треугольник. Этот индикатор ошибки указывает на то, что дата хранится в текстовом формате, как показано в данном примере.
Вы можете использовать индикатор ошибки для преобразования дат из текстового формата в формат даты.
Примечания: Сначала убедитесь в том, что в Excel включена проверка ошибок. Для этого:
Щелкните Файл > Параметры > Формулы.
В Excel 2007 нажмите кнопку Microsoft Office и выберите Параметры ExcelExcel 2007формулы.
При проверке ошибокустановите флажок Включить фоновую проверку ошибок. Все найденные ошибки помечаются треугольником в левом верхнем углу ячейки.
В разделе правила проверки ошибоквыделите ячейки, которые содержат годы, представленные 2 цифрами.
Выполните указанные ниже действия, чтобы преобразовать дату в текстовом формате в обычную дату.
Выделите ячейку или диапазон смежных ячеек с индикатором ошибки в верхнем левом углу. Дополнительные сведения можно найти в разделе выделение ячеек, диапазонов, строк и столбцов на листе.
Совет: Чтобы отменить выделение ячеек, щелкните любую ячейку на листе.
Нажмите появившуюся рядом с выделенной ячейкой кнопку ошибки.
В меню выберите команду Преобразовать XX в 20XX или Преобразовать XX в 19XX. Если вы хотите отключить индикатор ошибки, не преобразуя число, нажмите кнопку пропустить ошибку.
Текстовые даты с двумя цифрами года преобразуются в стандартные даты с четырьмя цифрами года.
После преобразования ячеек с текстовыми значениями можно изменить внешний вид дат путем применения формата даты.
Если на листе есть даты, которые, возможно, были импортированы или вставлены так, как показано на рисунке ниже, вам, возможно, потребуется переформатировать их так, чтобы они выводились в виде коротких или длинных дат. Формат даты также будет более полезен, если вы хотите отфильтровать, отсортировать или использовать его в вычислениях дат.
Выделите ячейку, диапазон ячеек или столбец, которые нужно переформатировать.
Нажмите кнопку числовой формат и выберите нужный формат даты.
Краткий формат даты выглядит следующим образом:
В длинный формат даты содержатся дополнительные сведения, как показано на рисунке:
Чтобы преобразовать текстовую дату в ячейку в серийный номер, используйте функцию ДАТАЗНАЧ. Затем скопируйте формулу, выделите ячейки, содержащие текстовые даты, и используйте команду Специальная Вставка , чтобы применить к ним формат даты.
Выполните указанные ниже действия:
Выберите пустую ячейку и убедитесь в том, что ее числовой формат является общим.
В пустой ячейке сделайте следующее.
Щелкните ячейку, содержащую дату в текстовом формате, которую следует преобразовать.
Нажмите клавишу ВВОД, и функция ДАТАЗНАЧ возвращает порядковый номер даты, представленной текстовым форматом даты.
Что такое серийный номер Excel?
В Excel даты хранятся в виде порядковых номеров, что позволяет использовать их в вычислениях. По умолчанию 1 января 1900 г. является порядковым числом 1, а 1 января 2008 — порядковый номер 39448, так как он составляет 39 448 дня после 1 января, 1900.To скопировать формулу преобразования в диапазон смежных ячеек, выделите ячейку, содержащую введенную формулу. , а затем перетащите маркер заполнения по диапазону пустых ячеек, который соответствует размеру диапазона ячеек, содержащих текстовые даты.
В результате получится диапазон ячеек с порядковыми номерами, который соответствует диапазону ячеек с датами в текстовом формате.
Выделите ячейку или диапазон ячеек, которые содержат серийные номера, а затем на вкладке Главная в группе буфер обмена нажмите кнопку Копировать.
Сочетание клавиш: Кроме того, можно нажать клавиши CTRL + C.
Выделите ячейку или диапазон ячеек, которые содержат даты в текстовом формате, и на вкладке Главная в группе Буфер обмена нажмите стрелку под кнопкой Вставить и выберите команду Специальная вставка.
В диалоговом окне Специальная вставка в разделе Вставить выберите параметр Значения и нажмите кнопку ОК.
На вкладке Главная нажмите кнопку вызова всплывающего окна рядом с полем число.
В поле Категория выберите пункт Дата, после чего укажите необходимый формат даты в списке Тип.
Чтобы удалить серийные номера после того, как все даты будут успешно преобразованы, выделите ячейки, содержащие их, а затем нажмите клавишу DELETE.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.
Примечание: Эта страница переведена автоматически, поэтому ее текст может содержать неточности и грамматические ошибки. Для нас важно, чтобы эта статья была вам полезна. Была ли информация полезной? Для удобства также приводим ссылку на оригинал (на английском языке).
Функция ДАТАЗНАЧ для преобразования текста в дату в Excel
Функция ДАТАЗНАЧ в Excel предназначена для работы с текстовыми данными в формате ДАТА. Она используется для преобразования текстовых данных в формат Дата и возвращает числовое значение, характеризующее указанную дату.
Как преобразовать дату в текст в Excel
В Excel каждой дате соответствует определенное число дней, прошедших с принятой точки отсчета – 1 января 1900 года. Функция ДАТАЗНАЧ возвращает число, соответствующее числовому представлению даты, которая указана в виде текста, с учетом указанной выше особенности хранения дат в Excel. Формат возвращаемого значения зависит от настроек формата ячейки, в которой будет выведен результат вычислений.
Зачастую даты в Excel записывают без использования функции ДАТА. Табличный редактор определяет такие значения как обычные текстовые строки. Поэтому процедуры форматирования, сортировки по дате, а также различные вычисления (например, разница дат) приводят к некорректным результатам или появлению ошибок. Поэтому функция ДАТАЗНАЧ полезна для преобразования текстовых значений к данным формата Дата.
Пример 1. В таблице Excel находится столбец, в котором хранятся даты как текстовые строки, при этом записи имеют вид: «28 сентября 2018 года». Преобразовать эти значения в данные формата Дата.
Вид таблицы данных:
Для получения даты в формате, поддерживаемом Excel, используем следующую функцию:
Единственный аргумент состоит из подстрок, склеенных амперсандами (&):
- Функция ЛЕВСИМВ возвращает номер дня (первые два символа строки, содержащейся в ячейке A2). Очень важно, чтобы однозначные номера дней (например, 8 апреля) записывались как 08 апреля (имели нуль в начале), иначе будет возникать ошибка.
- Комбинация функций ПСТР и ЛЕВСИМВ выделяет из строки три первых символа названия месяца и возвращает их.
- Комбинация функций ПСТР и ПРАВСИМВ выделяет 4 символа, соответствующие числовому представлению года.
Растянем формулу вниз по столбцу, чтобы рассчитать остальные значения:
Таким образом мы преобразовали текстовые строки в формат даты, которые теперь можно использовать для вычислений в формулах.
Обработка значений даты в текстовом формате в Excel
Пример 2. В таблице Excel указаны даты неверного формата (вместо записи вид «13.06.2019» используется 13_06_2019). Такие данные указаны в двух столбцах. В соседнем необходимо вычислить разницу дней между указанными датами.
Вид таблицы данных:
Для расчетов используем следующую формулу:
Для получения текстовой строки, которая может быть преобразована в данные формата Дата с помощью функции ДАТАЗНАЧ, используем функцию ПОДСТАВИТЬ, которая выполняет замену символов «_» на «.». Результат вычитания двух полученных дат – искомое значение.
Растянем формулу вниз по столбцу чтобы рассчитать все значения:
Особенности синтаксиса функции ДАТАЗНАЧ в Excel
Функция ДАТАЗНАЧ имеет следующую синтаксическую запись:
Единственным аргументом (обязателен для заполнения) является дата_как_текст – текстовое представление даты, которое может быть преобразовано к данным формата Дата. В Excel есть несколько допустимых вариантов записи дат: 13-июн-2019, 13.06.2019. Любой из этих вариантов записи может быть использован в качестве аргумента функции ДАТАЗНАЧ.
- Если текстовые строки, характеризующие даты, хранятся в ячейках Excel, большинство функций выполняют преобразования данных к требуемому типу автоматически. Однако, во избежание возможных ошибок, рекомендуется использовать функцию ДАТАЗНАЧ.
- Рассматриваемая функция ориентируется на показания часов, встроенных в ПК, на котором используется редактор Excel. Если в качестве текстового представления даты указана неполная дата, например «13.06», данные о годе будут взяты из текущего времени. Например, функция =ДАТАЗНАЧ(“13.06”) вернет значение 43629, которое после установления формата Дата для ячейки будет преобразовано в 13.06.2019.
- Если в качестве аргумента функции ДАТАЗНАЧ было передано значение, не преобразуемое к формату Дата (например, =ДАТАЗНАЧ(23), =ДАТАЗНАЧ(ИСТИНА), =ДАТАЗНАЧ(“333”)), будет возвращен код ошибки #ЗНАЧ!
- Для склеивания значений, содержащихся в отдельных ячейках, чтобы «собрать» их в одну строку, характеризующую значение даты, следует использовать символ “&”. Например, в ячейках A1, B1, C1 хранятся значения 10, 3 и 2019 соответственно. Чтобы получить данные формата Дата и записать их в отдельную ячейку, можно использовать следующую функцию — =ДАТАЗНАЧ(A1&».»&B1&».»&C1).
Excel works!
Excel работает за вас
Excel works!
Thanks for Visiting
Как перевести время в число в Excel
Еще раз привет. Как обычно начну статью с того, что скажу — часто встречаюсь с каким-нибудь незнанием со стороны пользователей и сейчас расскажу об этом. Банально, но действительно так и приходят идеи о статье. Сегодня хочется написать отдельный текст про работу со временем в Excel. Как можно быстро обработать временные данные? Как перевести время в число в Excel? Как не запутаться в этом — читаем в тексте!
Время и число в Excel. =СЕГОДНЯ()
Сразу скажу что дата и время в Excel — это в первую очередь числовые данные. И только в определенном формате эти числа выглядят как время или дата.
Изначально у создателей Excel практически не было выбора как оформить временные и данные в табличном редакторе. Вопрос стоял в том, создать ли отдельный тип данных для времени/даты или преобразовать из числа в нужную форму отображения. Вопрос решился быстро и, как кажется, правильно.
Любое значение дата_время в Excel — это число преобразованное в нужный формат числа при помощи опции Формат ячеек!
Приведем пример. Вам нужно задать сегодняшнюю дату? Пожалуйста! Записываем функцию =СЕГОДНЯ() — без аргумента в скобках. Она возвращает сегодняшнее число. Как правило, сразу в этой ячейке будет дата в правильном формате.
Но что будет, если данные перевести в формат Числовой? Появиться число 42544,00.
Тоже самое будет и со временем в формате Время (см. на первой картинке), значение будет равно, например 21:00. Если сравнить значения чисел, то они будут идентичны.
Соответственно, как складывать и вычитать такие данные? Да как обычные числа! Если вы хотите, чтобы у вас в ячейке отображалось дата_время, просто сложите числа и задайте нужный формат. Как на примере:
Так же быть и с вычитанием данных друг из друга.
Теперь можно перейти к хитростям обработки дата_время.
Отделить дату от времени и наоборот в Excel
Предположим, что у вас уже есть числа в формате дата_время, например вы выгрузили их из учетной системы или вам их прислали по почте.
Во первых проверьте число ли это . Если да, то смело производите действия ниже. Если нет проследуйте инструкции в статье.
Воспользуйтесь формулой для определения времени из дата_время
Формула находит целое значение числа, что будет для нас датой и вычитает из общего значения — разница будет для нас временем, не забудьте перевести в полученные данные в формат времени.
Как перевести время в число в Excel? Функции ДЕНЬ, ЧАС, МИНУТЫ
Это тоже просто, если знаете хитрость. Очень и очень часто, нам удобнее использоваться формат 3,5 часа, чем 3:30. Т.е. перевод числа во временном формате в число, но с нужным значением. Для этого есть прекрасные функции Excel =ЧАС(), =МИНУТЫ().
Чтобы перевести время 3:30 в просто три с половиной часа, нам нужно воспользоваться формулой.
Как работает: мы находим количество полных часов функцией ЧАС, затем находим количество полных минут и делим их на 60, чтобы получить минут в часе. Готово!
Так же, как верно подсказали мне в комментариях, можно умножить 3:30 (в ячейке A1) на 24 — получится числовое значение времени.
Если необходимо подсчитать количество дней во времени (например 33:30:00) нужно воспользоваться функцией ДЕНЬ.
Важно! Не забудьте перевести ячейку в числовой формат, иначе после выполнения формулы, или в ячейке будет выдаваться 0:00:00
Это будет удобно при работе с большим объемом данных, вычислениями со временем или группировкой данных в сводной таблице
Эффективная работа в MS Office
Экономия 5 минут в час за счет более продуктивной работы дает за год экономию в 4 рабочие недели
Обратное преобразование даты в число
Когда вы связываете несколько систем друг с другом возможны всякие…нюансы. Вроде таблицы с числами вида
Само собой при выгрузке не имелся ввиду июнь 2034 года или 4 августа 2016 года. А конкретные числа 6.34 или 4.08, которые Excel по ошибке попытался преобразовать в даты. Тот же самый механизм, что и если вы введете в любой ячейке любого листа, например, текстом «12-15» и нажмете на Enter. Вы думаете, что вводите числовой диапазон, а Excel думает, что это незавершенная дата вида 12-15-2016 и «помогает» вам дописать его.
Исправить при вводе это автоматическое преобразование можно добавив в начало формулы одинарный апостроф — ‘ . В этом случае неважно что вы введете в значение ячейки (в том числе формулу) — Excel будет считать, что дальше текст.
Само преобразование может пойти по трем путям (в т.ч. в зависимости от региональных разделителей):
1. Если второе число меньше или равно 12. Excel будет пытаться определить в первом числе день, во втором числе месяц
2. Если второе число больше 12, но меньше или равно 29. Excel будет считать первое число месяцем, второе — годом. Год будет считаться от 1900
3. Если второе число больше или равно 30. Excel будет считать первое число месяцем, второе — годом. Год будет считаться от 2000
Итак, причины и механизмы возникновения ошибки ясны. Как поправить? Простая махинация вроде —A2 не поможет ведь после «дописки» значения до даты прошло преобразование и то же число 6.34 это теперь 12 571.
Исправление немного сложнее. Во-первых посмотрим по какому пути пошло преобразование. Если год от этой даты совпадает с текущим годом — значит мы имеем дело с первой ситуацией, в ином случае — ситуация 2 или 3.
Запишем формулу с вложенным ЕСЛИ():
Для Ситуации 1 мы должны склеить дни (целое число) и номер месяца (дробная часть числа):
Для Ситуации 2 и 3 мы должны взять номер месяца (целое число) и две последние цифры года (дробная часть числа).
Осталось только подставить эти значения в наш ЕСЛИ() в соответствующие группы формулы:
И вуаля. Можем преобразовать хоть 10 000 строк за раз.
PS К сожалению, в ситуации 1 мы не можем точно знать какое число было преобразовано в дату — с нулем, или без него как первый знак после запятой. То есть 4,08 и 4,8 в данном случае будут преобразованы одинаково.
PPS Если на компьютере стоит в качестве разделителя точки — нужно поправить формулу в двойных кавычках должна быть точка.
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 Excel Starter 2010 Еще…Меньше
В этой статье описаны синтаксис формулы и использование функции ДАТАЗНАЧ в Microsoft Excel.
Описание
Функция ДАТАЗНАЧ преобразует дату, которая хранится в виде текста, в порядковый номер, который Excel воспринимает как дату. Например, формула =ДАТАЗНАЧ(«1.1.2008») возвращает число 39 448, соответствующее 1 января 2008 года. Однако следует помнить, что в зависимости от настроек даты вашего компьютера результаты функции ДАТАЗНАЧ могут отличаться от представленных в этом примере.
Функция ДАТАЗНАЧ полезна в случаях, когда лист содержит даты в текстовом формате, которые требуется отфильтровать, отсортировать или отформатировать в виде дат или использовать в вычислениях с датами.
Чтобы дата была отформатирована в виде даты, необходимо применить к ячейке формат даты. Ссылки на дополнительные сведения о выводе чисел в качестве дат можно найти в разделе См. также.
Синтаксис
ДАТАЗНАЧ(дата_как_текст)
Аргументы функции ДАТАЗНАЧ описаны ниже.
-
Дата_как_текст — обязательный аргумент. Текст, представляющий дату в формате даты Excel, или ссылка на ячейку с таким текстом. Например, «30.01.2008» и «30-янв-2008» — это текстовые строки в кавычках, представляющие даты.
При использовании системы дат по умолчанию в Microsoft Excel для Windows аргумент date_text должен представлять дату в период с 1 января 1900 г. по 31 декабря 9999 г. Функция ДАТАVALUE возвращает #VALUE! значение ошибки, если значение аргумента date_text попадает за пределы этого диапазона.
Если в аргументе дата_как_текст опущен год, функция ДАТАЗНАЧ использует текущий год по показаниям встроенных часов компьютера. Сведения о времени в аргументе дата_как_текст игнорируются.
Примечания
-
В Excel даты хранятся в виде порядковых номеров, что позволяет использовать их в вычислениях. По умолчанию дате 1 января 1900 года соответствует номер 1, а 1 января 2008 года — 39448, так как интервал между этими датами составляет 39 447 дней.
-
Большинство функций автоматически преобразует даты в числовой формат.
Пример
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Данные |
||
---|---|---|
11 |
||
3 |
||
2011 |
||
Формула |
Описание |
Результат |
=ДАТАЗНАЧ(«22.08.2011») |
Порядковый номер даты, введенной как текст. |
40777 |
=ДАТАЗНАЧ(«22-май-2011») |
Порядковый номер даты, введенной как текст. |
40685 |
=ДАТАЗНАЧ(«23.02.2011») |
Порядковый номер даты, введенной как текст. |
40597 |
=ДАТАЗНАЧ(«5-июл») |
Порядковый номер даты, представленной в виде текста, с использованием системы дат 1900; встроенные часы компьютера в качестве года возвращают значение 2011. |
39634 |
=ДАТАЗНАЧ(A2 & «/» & A3 & «/» & A4) |
Порядковый номер даты, полученной в результате объединения данных из ячеек A2, A3 и A4. |
40850 |
Нужна дополнительная помощь?
На чтение 9 мин. Просмотров 29.7k.
Содержание
- Преобразование строки даты в дату
- Преобразовать дату в Юлианский формат
- Преобразование даты в месяц и год
- Преобразование даты в текст
- Преобразование даты текста дд/мм/гг в мм/дд/гг
- Преобразование текста в дату
Преобразование строки даты в дату
= ЛЕВСИМВ (дата; 10) + ПСТР (дата; 12;8)
Когда данные даты из других систем вставляются или импортируются в Excel, они могут не распознаваться как правильная дата или время. Вместо этого Excel может интерпретировать эту информацию только как текстовое или строковое значение.
Чтобы преобразовать строку даты в дату-время (дату со временем), вы можете разобрать текст на отдельные компоненты, а затем построить правильное время и дату.
В показанном примере мы используем приведенные ниже формулы.
Для извлечения даты формула в C5:
= ДАТАЗНАЧ (ЛЕВСИМВ(B5;10))
Чтобы извлечь дату, формула в D5:
= ВРЕМЗНАЧ (ПСТР (B5;12;8))
Чтобы собрать дату-время, формула в E5:
= C5 + D5
Чтобы получить дату, мы извлекаем первые 10 символов значения с помощью ЛЕВСИМВ:
ЛЕВСИМВ(B5;10) // возвращает «2015-03-01»
Результатом является текст, поэтому, чтобы заставить Excel интерпретироваться как дата, мы помещаем ЛЕВСИМВ в ДАТАЗНАЧ, который преобразует текст в правильное значение даты Excel.
Чтобы получить время, мы извлекаем 8 символов из середины значения с ПСТР:
ПСТР (B5;12;8) // возвращает «12:28:45»
Опять же, результатом является текст. Чтобы заставить Excel интерпретироваться как время, мы помещаем ПСТР в ВРЕМЗНАЧ, который преобразует текст в правильное значение времени Excel.
Чтобы построить окончательную дата-время, мы просто добавляем значение даты к значению времени.
Хотя этот пример извлекает дату и время отдельно для ясности, вы можете комбинировать формулы, если хотите. Следующая формула извлекает дату и время и объединяет их в один шаг:
= ЛЕВСИМВ(дата; 10) + ПСТР(дата; 12;8)
Обратите внимание, что в этом случае значения ДАТАЗНАЧ и ВРЕМЯЗНАЧ не нужны, поскольку математическая операция (+) заставляет Excel автоматически принудительно передавать текстовые значения в числа.
Преобразовать дату в Юлианский формат
= ГОД (дата) и ТЕКСТ (дата-ДАТА (ГОД (дата); 1;0); «000»)
Если вам нужно преобразовать дату в формат даты в Юлиане в Excel, вы можете сделать это, построив формулу, в которой используются функции ТЕКСТ, ГОД и ДАТА.
«Формат даты в Юлиане» относится к формату, в котором значение года для даты комбинируется с «порядковым днем для этого года» (т. Е. 14-й день, 100-й день и т. д.) для формирования штампа даты.
Есть несколько вариантов. Дата в этом формате может включать в себя 4-значный год (гггг) или год с двумя цифрами (гг), а номер дня может быть заполнен нулями или может быть не дополнен тремя цифрами. Например, на дату 21 января 2017 года вы можете увидеть:
1721 // ГГД
201721 // ГГГГ
2017021 // ГГГГДДД
Для двухзначного года + число дня без дополнения используйте:
= ТЕКСТ (B5; «гг») & B5-ДАТА(ГОД (B5); 1;0)
Для двузначного года + число дня, дополненное нулями до 3-х мест:
= ТЕКСТ (B5; «гг») & ТЕКСТ (B5-ДАТА (ГОД (B5); 1;0); «000»)
Для четырехзначного года + число дня, дополненное нулями до 3-х мест:
= ГОД(B5) & ТЕКСТ(B5-ДАТА(ГОД(B5); 1;0); «000»)
Эта формула строит окончательный результат в 2 частях, объединенных конъюнкцией с оператором амперсанда (&).
Слева от амперсанда мы генерируем значение года. Чтобы извлечь 2-значный год, мы можем использовать функцию ТЕКСТ, которая может применять числовой формат внутри формулы:
ТЕКСТ (B5; «гг»)
Чтобы извлечь полный год, используйте функцию ГОД:
ГОД (B5)
С правой стороны амперсанда нам нужно определить день года. Мы делаем это, вычитая последний день предыдущего года с того дня, с которым мы работаем. Поскольку даты — это просто серийные номера, это даст нам «n» день года.
Чтобы получить последний день года предыдущего года, мы используем функцию ДАТА. Когда вы даете ДАТА значение года и месяца и ноль на день, вы получаете последний день предыдущего месяца. Так:
B5-ДАТА(ГОД (B5); 1;0)
Дает нам последний день предыдущего года, который на примере 31 декабря 2015 года.
Теперь нам нужно заполнить значение дня нулями. Опять же, мы можем использовать функцию ТЕКСТ:
ТЕКСТ (B5-ДАТА (ГОД (B5); 1;0); «000»)
Если вам нужно преобразовать юлианскую дату назад к обычной дате, вы можете использовать формулу, которая анализирует юлианскую дату и пробегает ее через функцию даты с месяцем 1 и днем, равным «n-му» дню. Например, это создаст дату с Юлианской датой ггггддд, например, 1999143.
= ДАТА(ЛЕВСИМВ(A1;4); 1; ПРАВСИМВ(A1;3)) // для ггггддд
Если у вас есть только номер дня (например, 100, 153 и т. д.), вы можете жестко закодировать год и вставить следующий день:
= ДАТА (2016;1; A1)
Где A1 содержит номер дня. Это работает, потому что функция ДАТА умеет настраивать значения вне диапазона.
Преобразование даты в месяц и год
= ТЕКСТ(дата; «ггггмм»)
Чтобы преобразовать нормальную дату Excel в формат ггггмм (например, 9/1/2017> 201709), вы можете использовать функцию ТЕКСТ.
В показанном примере формула в C5:
= ТЕКСТ (B5; «ггггмм»)
Функция TEКСT применяет заданный числовой формат к числовому значению и возвращает результат в виде текста.
В этом случае предоставляется формат числа «ггггмм», который присоединяется к 4-значному году с 2-значным значением месяца.
Если вы хотите отображать дату только с указанием года и месяца, вы можете просто применить формат пользовательских номеров «ггггмм» к датам. Это заставит Excel отображать год и месяц вместе, но не изменит базовую дату.
Преобразование даты в текст
= ТЕКСТ (дата; формат)
Если вам нужно преобразовать даты в текст (т. е. дату в преобразование строк), вы можете использовать функцию ТЕКСТ. Функция ТЕКСТ может использовать такие шаблоны, как «дд / мм / гггг», «гггг-мм-дд» и т. д., чтобы преобразовать действительную дату в текстовое значение.
Даты и время в Excel хранятся в виде серийных номеров и преобразуются в удобочитаемые значения «на лету» с использованием числовых форматов. Когда вы вводите дату в Excel, вы можете применить числовой формат, чтобы отобразить эту дату по своему усмотрению. Аналогичным образом, функция ТЕКСТ позволяет преобразовать дату или время в текст в предпочтительном формате. Например, если дата 9 января 2000 года введена в ячейку A1, вы можете использовать TEКСТ, чтобы преобразовать эту дату в следующие текстовые строки следующим образом:
= ТЕКСТ(A1; «ммм») // «Янв»
= TEКСТ(A1; «дд/мм/гггг») // «09/01/2012»
= ТЕКСТ(A1; «дд-ммм-гг») // «09-Янв-12»
Вы можете использовать TEКСТ для преобразования дат или любого числового значения в фиксированном формате. Вы можете просмотреть доступные форматы, перейдя в меню «Формат ячеек» (Win: Ctrl + 1, Mac: Cmd + 1) и выбрав различные категории в списке слева.
Преобразование даты текста дд/мм/гг в мм/дд/гг
= ДАТА(ПРАВСИМВ(A1;2) + 2000; ПСТР(A1;4;2); ЛЕВСИМВ(A1;2))
Чтобы преобразовать даты в текстовом формате дд/мм /гг в истинную дату в формате мм/дд/гг, вы можете использовать формулу, основанную на функции ДАТА. В показанном примере формула в C5:
= ДАТА(ПРАВСИМВ(B5;2) + 2000; ПСТР(B5;4;2); ЛЕВСИМВ (B5;2))
Который преобразует текстовое значение в B5 «29/02/16» в правильную дату Excel.
Ядром этой формулы является функция ДАТА, которая используется для сборки правильного значения даты Excel. Функция ДАТА требует действительных значений года, месяца и дня, поэтому они анализируются из исходной текстовой строки следующим образом:
Значение года извлекается с помощью функции ПРАВСИМВ:
ПРАВСИМВ(B5;2) +2000
ПРАВСИМВ получает по крайней мере 2 символа от исходного значения. Число 2000 добавлено к результату, чтобы создать действительный год. Это число переходит в ДАТА в качестве аргумента год.
Значение месяца извлекается с помощью:
ПСТР(B5;4;2)
ПСТР извлекает символы 4-5. Результат переходит в ДАТА в качестве аргумента месяц.
Значение дня извлекается с помощью:
ЛЕВСИМВ(B5;2)
ЛЕВСИМВ захватывает последние 2 символа исходного текстового значения, которое переходит в ДАТА в качестве аргумента дня.
Три значения, извлеченные выше, входят в ДАТУ следующим образом:
= ДАТА (2016; «02»; «29»)
Хотя месяц и день предоставляются в виде текста, функция ДАТА автоматически преобразуется в числа и возвращает действительную дату.
Примечание: значение 2016 года автоматически было преобразовано в число при добавлении 2000.
Если исходное текстовое значение содержит дополнительные начальные или конечные символы пробела, вы можете добавить функцию СЖПРОБЕЛЫ для удаления:
= ДАТА(ПРАВСИМВ (СЖПРОБЕЛЫ (A1); 2) + 2000; ПСТР(СЖПРОБЕЛЫ (A1); 4;2); ЛЕВСИМВ(СЖПРОБЕЛЫ (A1); 2))
Преобразование текста в дату
=ДАТА (ЛЕВСИМВ(текст; 4); ПСРТ(текст; 5;2); ПРАВСИМВ(текст; 2))
Чтобы преобразовать текст в непринятом формате даты в правильную дату Excel, вы можете проанализировать текст и собрать правильную дату с формулой, основанной на нескольких функциях: ДАТА, ЛЕВСИМВ, ПСРТ и ПРАВСИМВ.
В показанном примере формула в C6:
= ДАТА(ЛЕВСИМВ(B6;4); ПСРТ(B6;5;2); ПРАВСИМВ(B6;2))
Эта формула отдельно извлекает значения года, месяца и дня и использует функцию ДАТА, чтобы собрать их в дату 24 октября 2000 года.
Когда вы работаете с данными из другой системы, вы можете использовать текстовые значения, которые представляют даты, но не понимаются как даты в Excel. Например, у вас могут быть такие текстовые значения:
текст (19610412) Дата представления (Апрель 12, 1961)
Excel не будет распознавать эти текстовые значения в качестве даты, поэтому для создания правильной даты вам нужно проанализировать текст в его компонентах (год, месяц, день) и использовать их для создания даты с помощью функции ДАТА.
Функция ДАТА принимает три аргумента: год, месяц и день. ЛЕВСИМВ извлекает самые левые 4 символа и поставляет это в ДАТА в качестве года. Функция ПСРТ извлекает символы 5-6 и поставляет это в ДАТА в качестве месяца, а функция ПРАВСИМВ извлекает самые правые 2 символа и поставляет их в ДАТА в качестве дня. Конечным результатом является правильная дата Excel, которая может быть отформатирована любым способом.
В строке 8 (непризнанный) формат даты дд.мм.гггг и формула в C8:
= ДАТА(ПРАВСИМВ(B8;4); ПСРТ(B8;4;2); ЛЕВСИМВ(B8;2))
Иногда встречаются даты в текстовом формате, которые должен распознавать Excel. В этом случае вы могли бы заставить Excel преобразовать текстовые значения в даты, добавив ноль к значению. Когда вы добавите нуль, Excel попытается принудить текстовые значения к числам. Поскольку даты — это всего лишь цифры, этот трюк — отличный способ преобразовать даты в текстовый формат, который действительно должен понимать Excel.
Чтобы преобразовать даты, добавив нуль, попробуйте Специальную вставку:
- Добавить ноль в неиспользуемую ячейку и скопировать в буфер обмена
- Выберите проблемные даты
- Специальная вставка> Значения> Добавить
Чтобы преобразовать даты путем добавления нуля в формулу, используйте:
= A1 + 0
Где A1 содержит непризнанную дату.
Другой способ заставить Excel распознавать даты — использовать текст в столбцах:
Выберите столбец дат, затем попробуйте Дата> Текст в столбах>Исправлено> Конец
Это иногда может исправить все сразу.
Если в вашей ячейке лежит дата в виде текстовой строки, например, «8 март 2013», то для Excel это, естественно, не дата, а текст. Чтобы преобразовать текстовую дату в полноценную (читай – в числовой код даты, т.к. внутри Excel любая дата представлена именно числовым кодом), можно использовать специальную функцию ДАТАЗНАЧ (DATEVALUE). Она умеет превращать в нормальную дату различные текстовые варианты ее написания:
Как видно из скриншота, проблемы с преобразованием будут только у англоязычных дат (если у вас установлен русский Excel), с падежами месяцев (ибо их нет в английском языке в принципе) и с совсем уж невнятными цифровыми наборами типа «18 3 17». Со всем остальным эта функция замечательно справляется.
Если для ввода дат была использована не точка или косая черта, а запятая (что часто бывает при использовании дополнительной цифровой клавиатуры), то придется сначала заменить запятую на точку с помощью функции ПОДСТАВИТЬ (SUBSTITUTE) и потом уже использовать функцию ДАТАЗНАЧ для преобразования получившегося текста в реальную дату:
Ссылки по теме
- Как Excel на самом деле хранит и обрабатывает даты и время
- Как найти ближайший рабочий день функцией РАБДЕНЬ (WORKDAY)
- Как вычислить разницу между двумя датами в днях, месяцах или годах