Excel дата как дата
Для работы с датами в Excel в разделе с функциями определена категория «Дата и время». Рассмотрим наиболее распространенные функции в этой категории.
Как Excel обрабатывает время
Программа Excel «воспринимает» дату и время как обычное число. Электронная таблица преобразует подобные данные, приравнивая сутки к единице. В результате значение времени представляет собой долю от единицы. К примеру, 12.00 – это 0,5.
Значение даты электронная таблица преобразует в число, равное количеству дней от 1 января 1900 года (так решили разработчики) до заданной даты. Например, при преобразовании даты 13.04.1987 получается число 31880. То есть от 1.01.1900 прошло 31 880 дней.
Этот принцип лежит в основе расчетов временных данных. Чтобы найти количество дней между двумя датами, достаточно от более позднего временного периода отнять более ранний.
Пример функции ДАТА
Построение значение даты, составляя его из отдельных элементов-чисел.
Синтаксис: год; месяц, день.
Все аргументы обязательные. Их можно задать числами или ссылками на ячейки с соответствующими числовыми данными: для года – от 1900 до 9999; для месяца – от 1 до 12; для дня – от 1 до 31.
Если для аргумента «День» задать большее число (чем количество дней в указанном месяце), то лишние дни перейдут на следующий месяц. Например, указав для декабря 32 дня, получим в результате 1 января.
Пример использования функции:
Зададим большее количество дней для июня:
Примеры использования в качестве аргументов ссылок на ячейки:
Функция РАЗНДАТ в Excel
Возвращает разницу между двумя датами.
- начальная дата;
- конечная дата;
- код, обозначающий единицы подсчета (дни, месяцы, годы и др.).
Способы измерения интервалов между заданными датами:
- для отображения результата в днях – «d»;
- в месяцах – «m»;
- в годах – «y»;
- в месяцах без учета лет – «ym»;
- в днях без учета месяцев и лет – «md»;
- в днях без учета лет – «yd».
В некоторых версиях Excel при использовании последних двух аргументов («md», «yd») функция может выдать ошибочное значение. Лучше применять альтернативные формулы.
Примеры действия функции РАЗНДАТ:
В версии Excel 2007 данной функции нет в справочнике, но она работает. Хотя результаты лучше проверять, т.к. возможны огрехи.
Функция ГОД в Excel
Возвращает год как целое число (от 1900 до 9999), который соответствует заданной дате. В структуре функции только один аргумент – дата в числовом формате. Аргумент должен быть введен посредством функции ДАТА или представлять результат вычисления других формул.
Пример использования функции ГОД:
Функция МЕСЯЦ в Excel: пример
Возвращает месяц как целое число (от 1 до 12) для заданной в числовом формате даты. Аргумент – дата месяца, который необходимо отобразить, в числовом формате. Даты в текстовом формате функция обрабатывает неправильно.
Примеры использования функции МЕСЯЦ:
Примеры функций ДЕНЬ, ДЕНЬНЕД и НОМНЕДЕЛИ в Excel
Возвращает день как целое число (от 1 до 31) для заданной в числовом формате даты. Аргумент – дата дня, который нужно найти, в числовом формате.
Чтобы вернуть порядковый номер дня недели для указанной даты, можно применить функцию ДЕНЬНЕД:
По умолчанию функция считает воскресенье первым днем недели.
Для отображения порядкового номера недели для указанной даты применяется функция НОМНЕДЕЛИ:
Дата 24.05.2015 приходится на 22 неделю в году. Неделя начинается с воскресенья (по умолчанию).
В качестве второго аргумента указана цифра 2. Поэтому формула считает, что неделя начинается с понедельника (второй день недели).
Для указания текущей даты используется функция СЕГОДНЯ (не имеет аргументов). Чтобы отобразить текущее время и дату, применяется функция ТДАТА ().
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще. Меньше
С помощью функции ДАТА в Excel можно объединить три отдельных значения в дату.
Функция ДАТА возвращает порядковый номер определенной даты.
Синтаксис: ДАТА(год;месяц;день)
Аргументы функции ДАТА описаны ниже.
Год — обязательный аргумент. Значение аргумента год может содержать от одной до четырех цифр. Excel интерпретирует аргумент год в соответствии с используемой системой дат, используемой на вашем компьютере. По умолчанию в Microsoft Excel для Windows используется система дат 1900, то есть первой датой считается 1 января 1900 г.
Совет: Во избежание непредвиденных результатов используйте в качестве значения аргумента год четыре цифры. Например, значение "07" может интерпретироваться как "1907" или "2007". Четырехзначное обозначение года предотвращает возникновение путаницы.
Если аргумент год находится в диапазоне от 0 (нуль) до 1899 (включительно), Excel для вычисления года прибавляет это значение к числу 1900. Например, функция ДАТА(108;1;2) возвращает 2 января 2008 (1900+108) года.
Если аргумент год находится в диапазоне от 1900 до 9999 (включительно), Excel использует это значение как год. Например, функция ДАТА(2008;1;2) возвращает 2 января 2008 года.
Месяц — обязательный аргумент. Положительное или отрицательное целое число в диапазоне от 1 (январь) до 12 (декабрь), представляющее месяц года.
Если значение аргумента месяц больше 12, аргумент месяц добавляет число месяцев к первому месяцу указанного года. Например, функция ДАТА(2008;14;2) возвращает число, соответствующее 2 февраля 2009 года.
Если значение аргумента месяц меньше 1, аргумент месяц вычитает значение этого числа месяцев, увеличенное на 1, из первого месяца указанного года. Например, функция ДАТА(2008;-3;2) возвращает число, соответствующее 2 сентября 2007 года.
День — обязательный аргумент. Положительное или отрицательное целое число в диапазоне от 1 до 31, представляющее день месяца.
Если значение аргумента день больше числа дней в указанном месяце, аргумент день добавляет это число дней к первому дню месяца. Например, функция ДАТА(2008;1;35) возвращает число, соответствующее 4 февраля 2008 года.
Если значение аргумента день меньше 1, аргумент день вычитает значение этого числа дней, увеличенное на 1, из первого дня указанного месяца. Например, функция ДАТА(2008;1;-15) возвращает число, соответствующее 16 декабря 2007 года.
Примечание: В Excel даты хранятся в виде порядковых номеров, что позволяет использовать их в вычислениях. Дате 1 января 1900 года соответствует номер 1, а 1 января 2008 года — 39448, так как интервал между этими датами составляет 39 447 дней. Чтобы вывести правильную дату, нужно изменить формат ячейки.
Синтаксис: ДАТА(год;месяц;день)
Например, =ДАТА(C2;A2;B2) объединяет значение года из ячейки C2, месяца из ячейки A2 и дня из ячейки B2 и помещает их в одну ячейку в виде даты. В примере ниже показан результат в ячейке D2.
Нужно вставить даты, не используя формулу? Никаких проблем! Вы можете вставить в ячейку текущую дату и время или обновляемую дату. Вы также можете автоматически заполнить ячейки листа данными.
Щелкните правой кнопкой мыши ячейки, которые вы хотите изменить. На компьютере Mac щелкните ячейки, удерживая нажатой клавишу CTRL.
На вкладке Главная щелкните Формат > Формат ячеек или нажмите клавиши CTRL+1 (COMMAND+1 на компьютере Mac).
3. Выберите нужный язык (местоположение) и формат даты.
Дополнительные сведения о форматировании дат см. в статье Пользовательское форматирование даты.
Функцию ДАТА можно использовать для формирования даты на основе даты в другой ячейке. Например, с помощью функций ГОД, МЕСЯЦ и ДЕНЬ можно создать дату годовщины, основанную на другой ячейке. Допустим, что сотрудник начал работать 01.10.2016. С помощью функции ДАТА можно рассчитать пятилетний юбилей его работы.
Функция ДАТА формирует дату.
=ДАТА(ГОД(C2)+5;МЕСЯЦ(C2);ДЕНЬ(C2))
Функция ГОД получает значение "2012" из ячейки C2.
К этому значению прибавляется пять лет ("+5"), после чего в ячейке D2 выводится "2017".
Функция МЕСЯЦ получает значение "3" из ячейки C2 и добавляет его в ячейку D2 в качестве значения месяца.
Функция ДЕНЬ получает значение "14" из ячейки C2 и добавляет его в ячейку D2 в качестве значения дня.
Если открыть файл, полученный из другой программы, Excel попытается распознать даты в данных. Но иногда это не удается сделать. Возможно, это связано с тем, что числа не похожи на обычные даты или отформатированы как текст. В таком случае их можно преобразовать в даты с помощью функции ДАТА. Например, на приведенном ниже рисунке ячейка C2 содержит дату, которая имеет формат ГГГГММДД. Она также отформатирована как текст. Для ее преобразования в дату функция ДАТА используется в сочетании с функциями ЛЕВСИМВ, ПСТР и ПРАВСИМВ.
Функция ДАТА формирует дату.
=ДАТА(ЛЕВСИМВ(C2;4);ПСТР(C2;5;2);ПРАВСИМВ(C2;2))
Функция ЛЕВСИМВ получает первые 4 знака слева в ячейке C2. При этом значение "2014" становится годом преобразованной даты в ячейке D2.
Функция ПСТР ссылается на ячейку C2. Она получает 2 знака справа от 5-го знака. При этом значение "03" становится месяцем преобразованной даты в ячейке D2. "0" не включается в результат из-за формата Дата, заданного для ячейки D2.
Функция ПРАВСИМВ получает первые 2 знака в ячейке C2 от правого края и добавляет "14" в ячейку D2 в качестве значения дня.
Чтобы увеличить или уменьшить дату на определенное количество дней, просто добавьте его к значению либо ссылке на ячейку с датой или вычтите его.
В приведенном ниже примере ячейка A5 содержит дату, которую нужно увеличить или уменьшить на 7 дней (значение в ячейке C5).
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 for 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
Часы с 04:00 до 04:0
Время в 4:36:03 P
Заслон времени в часах; например, 25,02
Заслон времени в минутах; например, 63:46
За считанные секунды
AM и PM Если формат содержит am или PM, часы основаны на 12-часовом формате, где "AM" или "A" указывает время от полуночи до полудня, а "PM" или "P" — время от полудня до полуночи. В противном случае используется 24-часовой цикл. Код "м" или "мм" должен отображаться сразу после кода "ч" или "чч" или непосредственно перед кодом "сс"; в противном Excel отображается месяц, а не минуты.
Создавать пользовательские числовые форматы может быть непросто, если вы этого еще не сделали. Дополнительные сведения о создании пользовательских числных форматов см. в теме Создание и удаление пользовательских числов.
Советы для отображения дат и времени
При попытке отменить формат даты или времени с помощью выбора в списке Категория общего Excel отображает числовом коде. При повторном вводе даты или времени Excel формат даты или времени по умолчанию. Чтобы ввести определенный формат даты или времени, например январь 2010г., можно отформать его как текст, выбрав текст в списке Категория.
Чтобы быстро ввести текущую дату, выйдите из любой пустой ячейки и нажмите CTRL+; (точка с за semicolon) и при необходимости нажмите ввод. Чтобы вставить дату, которая будет обновляться до текущей даты при каждом повторном повторном пересчете или пересчете формулы, введите =СЕГОДНЯ() в пустую ячейку и нажмите ввод.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
В некоторых случаях даты могут быть отформатированы и храниться в ячейках в виде текста. Например, вы могли ввести дату в ячейку, которая была отформатирована как текст, или данные могли быть импортированы или вставлены из внешнего источника данных в виде текста.
Даты, отформатированные как текст, выравниваются по левому краю в ячейке (а не по правому краю). Если включена проверка ошибок, текстовые даты с двумя цифрами лет также могут быть помечены индикатором ошибки: .
Поскольку функция проверки ошибок в Excel распознает даты в текстовом формате с двузначным номером года, можно воспользоваться средством автозамены и преобразовать их в даты в формате даты. Функцию DATEVALUE можно использовать для преобразования большинства других типов текстовых дат в даты.
При импорте данных в Excel из другого источника или при вводе дат с двумя цифрами лет в ячейки, которые ранее были отформатированы как текст, в левом верхнем углу ячейки может появиться небольшой зеленый треугольник. Этот индикатор ошибки указывает на то, что дата хранится в текстовом формате, как показано в данном примере.
Индикатор ошибки можно использовать для преобразования дат из текста в формат даты.
Примечания: Сначала убедитесь, что проверка ошибок включена в Excel. Для этого:
Щелкните Файл > Параметры > Формулы.
В Excel 2007 нажмите кнопку Microsoft Office , а Excel параметры > формул.
В разделе "Проверка ошибок" установите флажок "Включить фоновую проверку ошибок". Все найденные ошибки помечаются треугольником в левом верхнем углу ячейки.
В разделе "Правила проверки ошибок" выберите ячейки, содержащие годы, представленные в виде двух цифр.
Выполните следующую процедуру, чтобы преобразовать форматированную текстом дату в обычную дату:
Выделите ячейку или диапазон смежных ячеек с индикатором ошибки в верхнем левом углу. Дополнительные сведения см. в разделе "Выбор ячеек, диапазонов, строк или столбцов на листе".
Совет: Чтобы отменить выделение ячеек, щелкните любую ячейку на листе.
В меню выберите команду Преобразовать XX в 20XX или Преобразовать XX в 19XX. Если вы хотите закрыть индикатор ошибки без преобразования числа, нажмите кнопку "Пропустить ошибку".
Текстовые даты с двумя цифрами лет преобразуют в стандартные даты с четырехзначными годами.
После преобразования ячеек с текстовыми значениями можно изменить внешний вид дат путем применения формата даты.
Если на листе есть даты, которые, возможно, были импортированы или вставлены, в итоге выглядят как ряд чисел, как показано на рисунке ниже, вы, вероятно, захотите переформатировать их, чтобы они отображались как короткие или длинные даты. Формат даты также будет полезен, если вы хотите отфильтровать, отсортировать или использовать его в вычислениях дат.
Выделите ячейку, диапазон ячеек или столбец, которые нужно переформатировать.
Щелкните "Формат номера" и выберите нужный формат даты.
Формат короткой даты выглядит следующим образом:
Длинная дата содержит дополнительные сведения, как на этом рисунке:
Чтобы преобразовать текстовую дату в ячейке в серийный номер, используйте функцию DATEVALUE. Затем скопируйте формулу, выделите ячейки, содержащие текстовые даты, и используйте специальную вставку, чтобы применить к ним формат даты.
Выделите пустую ячейку и убедитесь, что ее число имеет формат "Общие".
В пустой ячейке сделайте следующее.
Введите =DATEVALUE(
Щелкните ячейку, содержащую дату в текстовом формате, которую следует преобразовать.
ВВОД )
Нажмите клавишу ВВОД, и функция DATEVALUE возвращает серийный номер даты, представленной текстовой датой.
Что такое Excel серийный номер?
В Excel даты хранятся в виде порядковых номеров, что позволяет использовать их в вычислениях. По умолчанию 1 января 1900, является серийным номером 1, а 1 января 2008 г. — серийным номером 39448, так как это 39 448 дней после 1 января, 1900.To скопируйте формулу преобразования в диапазон смежных ячеек, выделите ячейку, содержащую введенную формулу, а затем перетащите маркер заполнения по диапазону пустых ячеек, которые соответствуют диапазону ячеек, содержащих текстовые даты.
В результате получится диапазон ячеек с порядковыми номерами, который соответствует диапазону ячеек с датами в текстовом формате.
Выделите ячейку или диапазон ячеек, которые содержат серийные номера, а затем на вкладке "Главная" в группе буфера обмена нажмите кнопку "Копировать".
Сочетание клавиш: Можно также нажать клавиши CTRL+C.
Выделите ячейку или диапазон ячеек, которые содержат даты в текстовом формате, и на вкладке Главная в группе Буфер обмена нажмите стрелку под кнопкой Вставить и выберите команду Специальная вставка.
В диалоговом окне Специальная вставка в разделе Вставить выберите параметр Значения и нажмите кнопку ОК.
На вкладке " Главная" щелкните всплывающее окно рядом с пунктом "Число".
В поле Категория выберите пункт Дата, после чего укажите необходимый формат даты в списке Тип.
Чтобы удалить серийные номера после успешного преобразования всех дат, выделите ячейки, содержащие их, и нажмите клавишу DELETE.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
При импорте в Excel данных из внешних программ, иногда возникает весьма неприятная проблема - дробные числа превращаются в даты:
Так обычно происходит, если региональные настройки внешней программы не совпадают с региональными настройками Windows и Excel. Например, вы загружаете данные с американского сайта или европейской учётной системы (где между целой и дробной частью - точка), а в Excel у вас российские настройки (где между целой и дробной частью - запятая, а точка используется как разделитель в дате).
При импорте Excel, как положено, пытается распознать тип входных данных и следует простой логике - если что-то содержит точку (т.е. российский разделитель дат) и похоже на дату - оно будет конвертировано в дату. Всё, что на дату не похоже - останется текстом.
Давайте рассмотрим все возможные сценарии на примере испорченных данных на картинке выше:
- В ячейке A1 исходное число 153.4182 осталось текстом, т.к. на дату совсем не похоже (не бывает 153-го месяца)
- В ячейке A2 число 5.1067 тоже осталось текстом, т.к. в Excel не может быть даты мая 1067 года - самая ранняя дата, с которой может работать Excel - 1 января 1900 г.
- А вот в ячейке А3 изначально было число 5.1987, которое на дату как раз очень похоже, поэтому Excel превратил его в 1 мая 1987, услужливо добавив единичку в качестве дня:
Вот такие варианты. И если текстовые числа ещё можно вылечить банальной заменой точки на запятую, то с числами превратившимися в даты такой номер уже не пройдет. А попытка поменять их формат на числовой выведет нам уже не исходные значения, а внутренние коды дат Excel - количество дней от 01.01.1900 до текущей даты:
Лечится вся эта история тремя принципиально разными способами.
Способ 1. Заранее в настройках
Если данные ещё не загружены, то можно заранее установить точку в качестве разделителя целой и дробной части через Файл - Параметры - Дополнительно (File - Options - Advanced) :
Снимаем флажок Использовать системные разделители (Use system separators) и вводим точку в поле Разделитель целой и дробной части (Decimal separator) .
После этого можно смело импортировать данные - проблем не будет.
Способ 2. Формулой
Если данные уже загружены, то для получения исходных чисел из поврежденной дата-тексто-числовой каши можно использовать простую формулу:
=--ЕСЛИ( ЯЧЕЙКА("формат";A1)="G" ; ПОДСТАВИТЬ(A1;".";",") ; ТЕКСТ(A1;"М,ГГГГ") )
В английской версии это будет:
=--IF (CELL ("format ";A1)="G"; SUBSTITUTE (A1;".";","); TEXT (A1;"M ,YYYY "))
Логика здесь простая:
- Функция ЯЧЕЙКА (CELL) определяет числовой формат исходной ячейки и выдаёт в качестве результата "G" для текста/чисел или "D3" для дат.
- Если в исходной ячейке текст, то выполняем замену точки на запятую с помощью функции ПОДСТАВИТЬ (SUBSTITUTE) .
- Если в исходной ячейке дата, то выводим её в формате "номер месяца - запятая - номер года" с помощью функции ТЕКСТ (TEXT) .
- Чтобы преобразовать получившееся текстовое значение в полноценное число - выполняем бессмысленную математическую операцию - добавляем два знака минус перед формулой, имитируя двойное умножение на -1.
Способ 3. Макросом
Если подобную процедуру лечения испорченных чисел приходится выполнять часто, то имеет смысл автоматизировать процесс макросом. Для этого жмём сочетание клавиш Alt + F11 или кнопку Visual Basic на вкладке Разработчик (Developer) , вставляем в нашу книгу новый пустой модуль через меню Insert - Module и копируем туда такой код:
Останется выделить проблемные ячейки и запустить созданный макрос сочетанием клавиш Alt + F8 или через команду Макросы на вкладке Разработчик (Developer - Macros) . Все испорченные числа будут немедленно исправлены.
Читайте также: