Как преобразовать дату в число
В этой статье описаны синтаксис формулы и использование функции ДАТАЗНАЧ в 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, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Как преобразовать дату в число?
Если Вы еще не в курсе, дата на платформе 1С:Предприятие 8 хранится в числовом виде. Она представляет собой количество секунд, прошедших с 1 января 0001 года. Преобразовать дату в число функцией Число() не получится, т.к. вы непременно поймаете ошибку «Преобразование значения к типу Число не может быть выполнено» .
Здесь понадобится более «хитрый» способ. Наверняка вы знаете, что даты можно вычитать. В таком случае мы получаем длину интервала в секундах:
А что если дату отсчета 1 января 0001 года тоже представить датой и вычесть из имеющейся у нас даты? Давайте проверим:
Таким образом, любую дату можно преобразовать в число как в коде, так и в запросе.
Превращение текстовой даты в полноценную функцией ДАТАЗНАЧ (DATEVALUE)
Если в вашей ячейке лежит дата в виде текстовой строки, например, «8 март 2013», то для Excel это, естественно, не дата, а текст. Чтобы преобразовать текстовую дату в полноценную (читай – в числовой код даты, т.к. внутри Excel любая дата представлена именно числовым кодом), можно использовать специальную функцию ДАТАЗНАЧ (DATEVALUE) . Она умеет превращать в нормальную дату различные текстовые варианты ее написания:
Как видно из скриншота, проблемы с преобразованием будут только у англоязычных дат (если у вас установлен русский Excel), с падежами месяцев (ибо их нет в английском языке в принципе) и с совсем уж невнятными цифровыми наборами типа «18 3 17». Со всем остальным эта функция замечательно справляется.
Если для ввода дат была использована не точка или косая черта, а запятая (что часто бывает при использовании дополнительной цифровой клавиатуры), то придется сначала заменить запятую на точку с помощью функции ПОДСТАВИТЬ (SUBSTITUTE) и потом уже использовать функцию ДАТАЗНАЧ для преобразования получившегося текста в реальную дату: