Перейти к содержимому

Как отделить дату от времени в excel

  • автор:

Как отделить дату от времени в excel

В ячейках Excel могут быть числа, текст, формулы, ссылки на ячейки и даты.
Даты имеют свою специфику, в первую очередь, из-за большого количества форматов.
Мы разберем основы работы с датами и решение типовых ошибок, с которыми мы сталкиваемся.

Что такое даты для Excel?

Дата и Время — это числа для Excel. Целая часть — номер дня, а все что идет после запятой — время. Если перевести в разные форматы, получим следующее:

То есть 12.07.2016 12:50:30 для Excel значение — 42563,5350694,

Где 42563 — это порядковый номер дня с 1 января 1900 года, а часть после запятой — это время.

С датами можно производить вычисления. Например, вычитать или складывать даты.

Даты нужны для группировки ежедневных данных в недельные, месячные и годовые отчеты. Пример группировок различных рекламных каналов по дате:

Основные ошибки с датами и их решение

Перевод разных написаний дат

Разные системы в выгрузках выдают даты по-разному, например: 12.07.2016 12-07-16 16-07-12 и так далее. Иногда месяца пишут текстом. Для того, чтобы привести даты к одному формату мы используем функцию ДАТА:

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

Дата определяется как текст

Проблемы с датами начинаются, когда мы импортируем данные из других источников. При этом, даты могут выглядеть нормально, но при этом являться текстом. С ними нельзя проводить вычисления, группировки в сводных таблицах, сортировать. Есть 2 решения, которые позволяют сделать это автоматически: 1. Получение значения даты; 2. Умножение текстового значения на единицу.

Получение значения даты

С помощью формулы ЗНАЧ мы выводим текстовое значение даты, потом его форматируем как Дату:

Умножение текстового значения на единицу

Принцип аналогичный предыдущему, только мы текстовое значение умножаем на единицу и после этого форматируем как дату:

Примечание: если дата определилась как текст, то вы не сможете делать группировки. При этом дата будет выровнена по левому краю. Excel выравнивает числа и даты по правому краю.

Очистка дат от некорректных символов
Чтобы привести к нужному стандарту, часть дат можно очистить с помощью функции Найти и Заменить. Например, поменять слэши («/») на точки:

То же самое можно сделать формулой ПОДСТАВИТЬ

Итак, мы разобрали основные варианты решения проблем с датами. Конечно, способов гораздо больше. И подобные преобразования удобнее делать через Power Query, который очень хорошо понимает и преобразовывает даты, но об этом в следующей статье.

Как отделить дату от времени в excel

Работаем с формулами даты и времени

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

Суть «кейса»: имеется табличка с двумя полями, в которой содержится информация о дате создания и дате закрытия операции, на основании которых нужно вычислить количество и процент операций, которые были закрыты:

— в первый рабочий день (со времени начала выполнения операции до 18:00 следующего рабочего дня);

— в пределах двух следующих рабочих дней;

— в сроки более двух рабочих дней.

Для того чтобы всё правильно прописать, для начала нужно правильно проранжировать периоды.

Добавим «технический столбец» в котором пропишем с помощью логических функций ЕСЛИ следующие условия:

1. Если даты создания и закрытия совпадают, то это считается первым рабочим днем (в столбец подставится единичка)

В полях у нас формат дата-время, поэтому чтобы сравнить дни, нужно из этого формата извлечь дату. Сделать это можно несколькими способами:

  • С помощью функции ДАТА, собрав даты из наших полей

=ЕСЛИ(ДАТА(ГОД(A2);МЕСЯЦ(A2);ДЕНЬ (A2))=ДАТА(ГОД(B2);МЕСЯЦ(B2);ДЕНЬ(B2));1

  • Но если помнить, что дата и время для Excel являются числами (время – дробная часть даты), то можно пойти более коротким путём, используя функцию ЦЕЛОЕ.

2. На месте аргумента [значение_если_ложь] функции ЕСЛИ напишем ещё одну функцию ЕСЛИ, в которой проверим, является ли дата закрытия следующим рабочим днем (на всякий случай проверим чтобы дата была меньше двух рабочих дней от даты создания)

и чтобы одновременно проверялось условие, что время до 18:00

Данная проверка условий также входит в «операции, закрытые в первый рабочий день», поэтому в аргументе [значение_если_истина] должна подставляться единичка.

Формула на данном этапе выглядит примерно так:

3. Теперь пришла очередь проверить принадлежит ли дата закрытия к группе «закрытые в пределах двух следующих рабочих дней». На месте аргумента [значение_если_ложь] пишем еще одну ЕСЛИ, которая будет проверять, является ли дата закрытия меньше третьего рабочего дня и тогда подставляться двоечка в наш «технический столбец».

  • Почему не пишем проверку даты, является ли она больше первого рабочего дня? Потому что функция ЕСЛИ останавливается если её результатом является ИСТИНА и при правильном написании условий можно сократить длину формулы, а при неправильном – запутаться, и получить некорректный результат.
  • Почему не проверяем час на Потому что это не оговорено условием и по умолчанию считаем что в группу входят даты до конца дня

4. Прописывать условия для третьей группы не нужно, так как в неё попадают все даты, которые не соответствуют предыдущим условиям. На месте аргумента [значение_если_ложь] пишем троечку и закрываем скобки для всех функций ЕСЛИ.

Полностью формула выглядит так:

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

Для подсчёта количества используем функцию СЧЁТЕСЛИ.

Первая группа: =СЧЁТЕСЛИ($C$2:$C$17;1)

Вторая группа: =СЧЁТЕСЛИ($C$2:$C$17;2)

Третья группа: =СЧЁТЕСЛИ($C$2:$C$17;3)

С расчётом процента также никаких сложностей нет. Нужно просто разделить количество операций, принадлежащих к конкретной группе на общее количество операций (можно использовать как формулы которые написали выше, так и ссылки на ячейки с этими формулами:

Первая группа: =J2/СЧЁТ($C$2:$C$17)

Вторая группа: =J5/СЧЁТ($C$2:$C$17)

Третья группа: =J7/СЧЁТ($C$2:$C$17)

Таким образом, с помощью простых и понятных операций, помогли нашей студентке справиться с поставленной задачей.

Такие и подобные вопросы поступают к нам в чат поддержки ежедневно в рамках курса «Excel бизнес-анализ и прогнозирование». Многие вопросы цикличны, так как все мы сталкиваемся с аналогичными проблемами в своей работе!
Мы с командой DATAbi будем делиться этими практическими кейсами и выполнять свои рабочие задачи лучше и проще!

Автор статьи тренер DATAbi Михаил Беленчук

Как отделить дату от времени в excel

Добрый день, Есть дата 31.01.2014 18:00:00, нужно 31.01.2014 занести в ячейку А1 а 18:00:00 в ячейку А2.
Приложил свои потуги.

Прикрепленные файлы

  • Пример.xlsm (19.69 КБ)

Пользователь
Сообщений: 972 Регистрация: 14.01.2014
15.02.2014 13:15:29
Округл(ДатаВремя;0) — будет дата
Остат(ДатаВремя;1) — будет время.
Если автоматизировать бардак, то получится автоматизированный бардак.
Пользователь
Сообщений: 44 Регистрация: 11.12.2013
15.02.2014 13:17:23
Спасибо конечно, но хотелось бы средствами VBA
Пользователь
Сообщений: 972 Регистрация: 14.01.2014
15.02.2014 13:25:19
Так замените названия на английские и пропишите в макросе.
Если автоматизировать бардак, то получится автоматизированный бардак.
Пользователь
Сообщений: 44 Регистрация: 11.12.2013
15.02.2014 13:29:50
Формулы приму к сведению, на крайняк их вставлю. Разве нету никакой функции в VBA?
Пользователь
Сообщений: 436 Регистрация: 01.01.1970
15.02.2014 13:33:08

xltime = Right(Now, 8) xlDat = Left(Now, 10)

для вашего примера

Sub Date_Time() Dim d As Date Dim q As Date d = Cells(2, 1).Value Cells(4, 1) = Right(d, 8) Cells(5, 1) = Left(d, 10) End Sub

Изменено: lexey_fan — 15.02.2014 13:36:32
Если очень захотеть — можно в космос полететь 😉
Пользователь
Сообщений: 44 Регистрация: 11.12.2013
15.02.2014 13:38:02
Спасибо ,так понимаю ,то что получилось будет в текстовом формате ?
Пользователь
Сообщений: 44 Регистрация: 11.12.2013
15.02.2014 13:41:46
Именно для даты нету никакой функции ?
Пользователь
Сообщений: 436 Регистрация: 01.01.1970
15.02.2014 13:43:15
вот так будет формат даты

Sub Date_Time() Dim d As Date Dim q As Date d = Cells(2, 1).Value q = Right(d, 8) Cells(4, 1) = q q = Left(d, 10) Cells(5, 1) = q End Sub

Изменено: lexey_fan — 15.02.2014 13:43:30
Если очень захотеть — можно в космос полететь 😉
Пользователь
Сообщений: 4091 Регистрация: 01.01.1970
15.02.2014 13:51:21
А формат ячейки не устраивает? Потом будете решать как суммировать время при переходе суток.
Прикрепленные файлы

  • Пример (2).xlsm (20.8 КБ)

Изменено: gling — 15.02.2014 13:56:57
Пользователь
Сообщений: 15596 Регистрация: 10.01.2013
15.02.2014 13:51:40

tm = TimeValue(Now) 'системное время dt = DateValue(Now) 'системная дата

Согласие есть продукт при полном непротивлении сторон.

Контакты, благодарности
Пользователь
Сообщений: 44 Регистрация: 11.12.2013
15.02.2014 13:53:42

Есть какая либо функция по типу

A = 31.01.2014 18:00:00

b = Функция(A, hh mm ss)
c = Функция(A. yyyy mm dd)

b= 18:00:00
c= 18.01.2014

Изменено: luppi — 15.02.2014 13:54:21
Пользователь
Сообщений: 15596 Регистрация: 10.01.2013
15.02.2014 13:56:16
См пост #11. Замените Now на Ваше значение.

Согласие есть продукт при полном непротивлении сторон.

Контакты, благодарности
Пользователь
Сообщений: 44 Регистрация: 11.12.2013
15.02.2014 13:59:11

Ок, это то что нужно, хотя все способы в разных ситуациях подойдут. Sanja, ты в точку попал, спасибо.

Остальным тоже спасибо.

Пользователь
Сообщений: 10514 Регистрация: 21.12.2012
15.02.2014 14:11:09

Цитата
Sanja пишет:
tm = TimeValue(Now) ‘системное время
dt = DateValue(Now) ‘системная дата
tm = Time 'системное время dt = Date 'системная дата

Пользователь
Сообщений: 47199 Регистрация: 15.09.2012
09.08.2021 16:13:10
dovos, создайте отдельную тему с названием, отражающим суть задачи
Страницы: 1
Читают тему

© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru

Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.

ООО «Планета Эксел»
ИНН 7735603520
ОГРН 1147746834949
ИП Павлов Николай Владимирович
ИНН 633015842586
ОГРНИП 310633031600071

��КАК РАЗДЕЛИТЬ ДАТУ И ВОЕМЯ В EXCEL?

Иконка канала Секреты Творческого Саморазвития

Начните обучение в ExcelClub вместе со мной уже в июле! ��https://excel-club.ru/anketa?utm_source=youtube 3 способа как разделить дату и время по разным столбцам в excel. простой способ разбить дату и время в Excel как разбить дату в Экселе по разным столбцам? чтобы разделить дату в excel нужно уметь работать с датами в Excel. разделить дату Экселе можно несколькими способами, чтобы узнать самый простой и быстрый вариант разделения Даты в Excel смотрите видео до конца Применяйте и автоматизируйте свою работу в Экселе и Гугл-таблицах! #excel #ExcelClub

Показать больше

Войдите , чтобы оставлять комментарии.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *