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?

В 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, используем следующую функцию:

Единственный аргумент состоит из подстрок, склеенных амперсандами (&):

  1. Функция ЛЕВСИМВ возвращает номер дня (первые два символа строки, содержащейся в ячейке A2). Очень важно, чтобы однозначные номера дней (например, 8 апреля) записывались как 08 апреля (имели нуль в начале), иначе будет возникать ошибка.
  2. Комбинация функций ПСТР и ЛЕВСИМВ выделяет из строки три первых символа названия месяца и возвращает их.
  3. Комбинация функций ПСТР и ПРАВСИМВ выделяет 4 символа, соответствующие числовому представлению года.

Растянем формулу вниз по столбцу, чтобы рассчитать остальные значения:

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

Обработка значений даты в текстовом формате в Excel

Пример 2. В таблице Excel указаны даты неверного формата (вместо записи вид «13.06.2019» используется 13_06_2019). Такие данные указаны в двух столбцах. В соседнем необходимо вычислить разницу дней между указанными датами.

Читать еще:  В excel подсчет заполненных ячеек

Вид таблицы данных:

Для расчетов используем следующую формулу:

Для получения текстовой строки, которая может быть преобразована в данные формата Дата с помощью функции ДАТАЗНАЧ, используем функцию ПОДСТАВИТЬ, которая выполняет замену символов «_» на «.». Результат вычитания двух полученных дат – искомое значение.

Растянем формулу вниз по столбцу чтобы рассчитать все значения:

Особенности синтаксиса функции ДАТАЗНАЧ в Excel

Функция ДАТАЗНАЧ имеет следующую синтаксическую запись:

Единственным аргументом (обязателен для заполнения) является дата_как_текст – текстовое представление даты, которое может быть преобразовано к данным формата Дата. В Excel есть несколько допустимых вариантов записи дат: 13-июн-2019, 13.06.2019. Любой из этих вариантов записи может быть использован в качестве аргумента функции ДАТАЗНАЧ.

  1. Если текстовые строки, характеризующие даты, хранятся в ячейках Excel, большинство функций выполняют преобразования данных к требуемому типу автоматически. Однако, во избежание возможных ошибок, рекомендуется использовать функцию ДАТАЗНАЧ.
  2. Рассматриваемая функция ориентируется на показания часов, встроенных в ПК, на котором используется редактор Excel. Если в качестве текстового представления даты указана неполная дата, например «13.06», данные о годе будут взяты из текущего времени. Например, функция =ДАТАЗНАЧ(“13.06”) вернет значение 43629, которое после установления формата Дата для ячейки будет преобразовано в 13.06.2019.
  3. Если в качестве аргумента функции ДАТАЗНАЧ было передано значение, не преобразуемое к формату Дата (например, =ДАТАЗНАЧ(23), =ДАТАЗНАЧ(ИСТИНА), =ДАТАЗНАЧ(“333”)), будет возвращен код ошибки #ЗНАЧ!
  4. Для склеивания значений, содержащихся в отдельных ячейках, чтобы «собрать» их в одну строку, характеризующую значение даты, следует использовать символ “&”. Например, в ячейках A1, B1, C1 хранятся значения 10, 3 и 2019 соответственно. Чтобы получить данные формата Дата и записать их в отдельную ячейку, можно использовать следующую функцию — =ДАТАЗНАЧ(A1&».»&B1&».»&C1).

Эффективная работа в 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 на совпадения

Excel дату преобразовать в число

цитата: Urkagan:
есстественно сделай такой формат перед вставкой их буффера К сожалению такой вариант не проходит.
Опять происходит преобразование в дату.

Добавление от 27-03-2002 11:45:

цитата: Requin:
Iff
автоперевод с транслита:
У меня Офиса под руками нет, но посмотри есче в Специальной вставке, может там что есть. Нет. В ХР, в моем случае, есть варианты: HTML, Unicode Text, Text.
НО! В любом из этих вариантов происхоит вставква в ОДИН столбец, а не в ТРИ, как оно требуется.
В опциях WORD есть пунктик отключающий автоматическое преобразование вставляемого текста (нумерация и т.п.), так, ИМХО, и в EXCEL должно быть что-то подобное.

цитата: Ye_S:
А ты перед 22-11-22 ставь символ ‘ (одинарная кавычка) и всё будет ОК
Э-э-эх, копирую из html-документа таблицы по 20-30 строк.

Iff
боюсь что либо дело в кривых руках, либо я не догоняю, что тебе нужно.
Сейчас сделал таблицу в Ворде (97-ой офис), забил в ячейки следующие значения:
код: Выделил ячейки, вставил их просто в Excel, есстественно он их перевел в даты. Затем выделил соседний столбец, сделал там формат «текстовый» и опять вставил данные из буффера. Данные встали как и было нужно.

PS
цитата: НО! В любом из этих вариантов происхоит вставква в ОДИН столбец, а не в ТРИ, как оно требуется. А при чем здесь три столбца?

Не знаю как в OFFICE XP, но в EXCEL 2000 действительно есть серьезные проблемы с форматами.
Приведу две, наиболее часто встречающиеся:
1) При частом изменении форматов ячейки, происходит сбой (видно из-за идиотски реализованного механизма undo) и ячейка отказывается правильно воспринимать новый формат. Правда, чтобы достичь такого эффекта надо быть пользователем с определенным строением мозгов и бешенным трудолюбием, но некоторым моим клиентам это легко удается.
Потом сидим и разбираем, например, такой случай — вставляем число и получаем его автоматическое преобразование в текст, проверяем формат ячейки — числовой, на всякий случай еще раз принудительно устанавливаем числовой формат — нет эффекта, пробуем вставить знак ‘+’ перед числом — нет эффекта! Ставлю выражение «0+число» — ура! заработало. Пробую поставить туда же просто число без всяких там ухищрений , с вероятностью 50% вставится как число.

2) Excel очень часто отказывается преобразрвывать форматы автоматически, либо не подчиняется пользовательским установкам, как раз при операциях типа вставки.
Возможно эту проблему можно лечить соотв. макросом, но стандартных путей я так и не нашел, а макрос писать лень.

цитата: Urkagan:
Iff
боюсь что либо дело в кривых руках, либо я не догоняю, что тебе нужно.
Сейчас сделал таблицу в Ворде (97-ой офис), забил в ячейки следующие значения:

Дело не в догоняешь, а в версии продукта.
У меня ХР.

[/code]Выделил ячейки, вставил их просто в Excel, есстественно он их перевел в даты. Затем выделил соседний столбец, сделал там формат «текстовый» и опять вставил данные из буффера. Данные встали как и было нужно.

Я это уже пробовал. В ХР так не пашет.

[q]НО! В любом из этих вариантов происхоит вставква в ОДИН столбец, а не в ТРИ, как оно требуется. А при чем здесь три столбца?[/q]

При том, что я вставляю таблицу из html-файла.

Добавление от 27-03-2002 14:47:

Ради интереса попробовал из Excel открыть html-файл — та же картина: часть цифр нормально представлены, а часть датами, при попытке перобразовать формат — аналогичная ситуация.

Iff
вынеси в тулбар кнопку «Вставить значения» и потом жми на нее, когда вставляешь из буффера в специально отформатированный столбец.

Кстати, html тут не при чем.

Действительно, Эксел в этом плане идиот.
Когда-то боролся с этими форматами HTML->Эксел для клиента. Что-от не получалось, уж не помню точно, таблица в HTMLе не копировалась ни в Эксел, ни в Ворд так, как хотелось. НО: получилась такая прикольная штука, которая иногда может помочь.
Надо сохраненный на диск HTML переименовать в XLS. Для той задачи нам ОЧЕНЬ помогло.
Но вот только что попробовал то же сделать — в итоге сабжевая проблема не решается.

А метод по-тупому изящен.

Добавление от 27-03-2002 16:40:

цитата: VladCraft:
Надо сохраненный на диск HTML переименовать в XLS. Для той задачи нам ОЧЕНЬ помогло.
Но вот только что попробовал то же сделать — в итоге сабжевая проблема не решается.

А метод по-тупому изящен. У меня тоже не получилось.

Похожие статьи

Ссылка на основную публикацию
Похожие публикации
Adblock
detector