Основные принципы работы с датами и временем в Excel
Видео
Как обычно, кому надо быстро - смотрим видео. Подробности и нюансы - в тексте ниже:
Как вводить даты и время в Excel
Если иметь ввиду российские региональные настройки, то Excel позволяет вводить дату очень разными способами - и понимает их все:
"Классическая" форма |
3.10.2006 |
Сокращенная форма |
3.10.06 |
С использованием дефисов |
3-10-6 |
С использованием дроби |
3/10/6 |
Внешний вид (отображение) даты в ячейке может быть очень разным (с годом или без, месяц числом или словом и т.д.) и задается через контекстное меню - правой кнопкой мыши по ячейке и далее Формат ячеек (Format Cells):
Время вводится в ячейки с использованием двоеточия. Например
16:45
По желанию можно дополнительно уточнить количество секунд - вводя их также через двоеточие:
16:45:30
И, наконец, никто не запрещает указывать дату и время сразу вместе через пробел, то есть
27.10.2012 16:45
Быстрый ввод дат и времени
Для ввода сегодняшней даты в текущую ячейку можно воспользоваться сочетанием клавиш Ctrl + Ж (или CTRL+SHIFT+4 если у вас другой системный язык по умолчанию).
Если скопировать ячейку с датой (протянуть за правый нижний угол ячейки), удерживая правую кнопку мыши, то можно выбрать - как именно копировать выделенную дату:
Если Вам часто приходится вводить различные даты в ячейки листа, то гораздо удобнее это делать с помощью всплывающего календаря:
Если нужно, чтобы в ячейке всегда была актуальная сегодняшняя дата - лучше воспользоваться функцией СЕГОДНЯ (TODAY):
Как Excel на самом деле хранит и обрабатывает даты и время
Если выделить ячейку с датой и установить для нее Общий формат (правой кнопкой по ячейке Формат ячеек - вкладка Число - Общий), то можно увидеть интересную картинку:
То есть, с точки зрения Excel, 27.10.2012 15:42 = 41209,65417
На самом деле любую дату Excel хранит и обрабатывает именно так - как число с целой и дробной частью. Целая часть числа (41209) - это количество дней, прошедших с 1 января 1900 года (взято за точку отсчета) до текущей даты. А дробная часть (0,65417), соответственно, доля от суток (1сутки = 1,0)
Из всех этих фактов следуют два чисто практических вывода:
- Во-первых, Excel не умеет работать (без дополнительных настроек) с датами ранее 1 января 1900 года. Но это мы переживем! ;)
- Во-вторых, с датами и временем в Excel возможно выполнять любые математические операции. Именно потому, что на самом деле они - числа! А вот это уже раскрывает перед пользователем массу возможностей.
Количество дней между двумя датами
Считается простым вычитанием - из конечной даты вычитаем начальную и переводим результат в Общий (General) числовой формат, чтобы показать разницу в днях:
Количество рабочих дней между двумя датами
Здесь ситуация чуть сложнее. Необходимо не учитывать субботы с воскресеньями и праздники. Для такого расчета лучше воспользоваться функцией ЧИСТРАБДНИ (NETWORKDAYS) из категории Дата и время. В качестве аргументов этой функции необходимо указать начальную и конечную даты и ячейки с датами выходных (государственных праздников, больничных дней, отпусков, отгулов и т.д.):
Примечание: Эта функция появилась в стандартном наборе функций Excel начиная с 2007 версии. В более древних версиях сначала необходимо подключить надстройку Пакета анализа. Для этого идем в меню Сервис - Надстройки (Tools - Add-Ins) и ставим галочку напротив Пакет анализа (Analisys Toolpak). После этого в Мастере функций в категории Дата и время появится необходимая нам функция ЧИСТРАБДНИ (NETWORKDAYS).
Количество полных лет, месяцев и дней между датами. Возраст в годах. Стаж.
Про то, как это правильно вычислять, лучше почитать тут.
Сдвиг даты на заданное количество дней
Поскольку одни сутки в системе отсчета даты Excel принимаются за единицу (см.выше), то для вычисления даты, отстоящей от заданной на, допустим, 20 дней, достаточно прибавить к дате это число.
Сдвиг даты на заданное количество рабочих дней
Эту операцию осуществляет функция РАБДЕНЬ (WORKDAY). Она позволяет вычислить дату, отстоящую вперед или назад относительно начальной даты на нужное количество рабочих дней (с учетом выходных суббот и воскресений и государственных праздинков). Использование этой функции полностью аналогично применению функции ЧИСТРАБДНИ (NETWORKDAYS) описанной выше.
Вычисление дня недели
Вас не в понедельник родили? Нет? Уверены? Можно легко проверить при помощи функции ДЕНЬНЕД (WEEKDAY) из категории Дата и время.
Первый аргумент этой функции - ячейка с датой, второй - тип отсчета дней недели (самый удобный - 2).
Вычисление временных интервалов
Поскольку время в Excel, как было сказано выше, такое же число, как дата, но только дробная его часть, то с временем также возможны любые математические операции, как и с датой - сложение, вычитание и т.д.
Нюанс здесь только один. Если при сложении нескольких временных интервалов сумма получилась больше 24 часов, то Excel обнулит ее и начнет суммировать опять с нуля. Чтобы этого не происходило, нужно применить к итоговой ячейке формат 37:30:55:
Ссылки по теме
- Как вычислять возраст (стаж) в полных годах-месяцах-днях
- Как сделать выпадающий календарь для быстрого ввода любой даты в любую ячейку.
- Автоматическое добавление текущей даты в ячейку при вводе данных.
- Как вычислить дату второго воскресенья февраля 2007 года и т.п.
очень было бы удобно на работе!
Не оно?
Есть таблица с датами в формате: 4 Февраля 1985. Как привести ячейки к виду: 04.02.1985. Изменение формата ячейки не помогает.
1. ввести функцию сслыки на список праздников
2. сделать эту функцию доступной для любого файла Excel?
2. Можно добавить данные по праздникам в файл Personal, но тогда эти формулы не будут работать у других пользователей. Проще вставлять (копировать) отдельный лист с праздниками.
Просто большое человеческое Спасибо!!!
Есть такая задача: имею список событий, которые отсортированы по датам. Хочу сделать так чтобы ячейка с датой (либо вся строка) автоматически меняла цвет по мере приближения к заданной дате. Например за месяц ячейка зелёная, за 2 недели желтая, за неделю красная, прошло событие - цвет ещё какой-нибудь...
Как это сделать? Не смог найти информации по такому вопросу...
выделяете ячейки с датами и открываете Главная - Условное форматирование - Правила выделения ячеек - Дата. В более сложном - там же Создать правило - Использовать формулу и ввести формулу проверки даты, например =(А1-СЕГОДНЯ())<7 , где А1 - ячейка с датой, которая проверяется и за неделю до срока начинает краснеть, например.
=(A1-ТДАТА())>=0,25
где А1 - ячейка с временем последней активности водителя
ТДАТА - функция, выдающая текущую дату-время
0,25 - длительность 6 часов в терминах Excel (1/4 часть суток)
доброго времени суток. Я сейчас изучаю excel интересным способом: у меня есть товарищ, гуру эксель. =) он даёт задачи, а я их решаю. В решениии помогают Google и всякие книжки. но есть вещи которых я просто не могу там найти. А каждый раз обращаться по "тупому" вопросу с товарищу тоже неудобно.
Сейчас я "встал" на такой вот задаче.
Есть 3 ячейки. 1 ячейка начальная дата (любая), 2 ячейка конечная дата (тоже любая). В 3 ячейке надо дать сумму рабочих дней между этими 2 датами. Однако выходные дни СРЕДА и СУББОТА или только СРЕДА.
Я так понимаю, что это надо сделать через формулу массивов и функции счётесли. Однако просто не понимаю, как можно из двух дат создать массив (двссыл тут не работает).
очень прошу помочь.
Чуть не забыл, для расчётов надо использовать только 1 ячейку.
Заранее спасибо.
Мы легких путей не ищем. =)
Буду искать возможности расчёта через массив. =)
=SUM(IF(WEEKDAY(ROW(INDIRECT(A3&":"&B3));2)<>3;1;0))
всеравно спасибо
набор дат: ян 2011, фев 2011, март 2011, апр 2011, май 2011...
набор цифр: 1,1,1,1,2,2,3,3.3,.....(количество сотрудников)
Нам надо определить, в каком месяце добавлялся новый сотрудник.
Заранее огромное спасибо! Вы меня спасете от очередной бессонной ночи))
Спасибо за отличный ресурс!
Задача: рассчет длительности периода
Проблема: Региональные настройки у всей компании Английский США. Формат времени для рассчета взят из 1С (15.08.2013 08:00).
При изменении региональных настроек на Русский (Россия) рассчет производится, но открыв данный файл в стандартных для компании настройках (Английский США). В колонке длительность периода только "VALUES".
Необходимо рассчитать длительность периода в английском формате. Как это можно сделать?
Спасибо за совет.
У меня такой вопрос: в ячейке указана дата в таком виде 13.08.2013, формат ячейки–date. Я хочу поменять формат так, чтобы был сначала месяц, потом число, а потом год. (08/13/2013). Правой кнопкой мыши нажимаю формат ячеек, выбираю формат, но он не меняется так как мне нужно (точнее он вообще никак не меняется). В настройках компьютера такой формат (8/13/2013). Помогите пожалуйста!!!!
Нужно вычислить кол-во часов между двумя ячейками, формат время.
Если в 2х ячейках время АМ
А1=ВРЕМЯ(2;15;0)
В1=ВРЕМЯ(8;0;0)
то =В1-А1 вычисляет нормально = 5,45 часов
но если в одной яч. время РМ после полудня, а в др. АМ до полудня
А1=ВРЕМЯ(23;0;0)
В1=ВРЕМЯ(7;0;0)
то =В1-А1 = ################ - отрицательные или слишком большие дата и время
почему так происходит и как исправить формулу, чтобы получить часы?
Вот во всех этих ячейках, где ############# прописать формулу: =1-ABS(A1-B1) тогда будет реально вычисляться сколько часов прошло.
PS Надеюсь ещё не позно
Т.е. я понимаю, что надо сделать сводную таблицу и название столбцов сделать "Дата". А вот как сгруппировать по месяцам и годам, так чтобы именно столбцы назывались не конкретное число, а именно январь, февраль или если по годам, то 2012,2013 и т.д.
Спасибо за ответ.
с датами разобрался а вот с часами минутами секундами и долями секунд ну никак?
0:00:38:2 минус 0:01:06:8
равно?
Правильно будет 0:00:38,2
=ЕСЛИ(ДЕНЬНЕД(A1+14;2)<=5;A1+14;A1+14-(ДЕНЬНЕД(A1+14;2)-5))
где А1 - ячейка с начальной датой.
=ЕСЛИ(ДЕНЬНЕД(A1+A2-1;2)<=5;A1+A2-1;ЕСЛИ(ДЕНЬНЕД(A1+A2-1;2)=6;A1+A2-2;A1+A2-3))
Спасибо
Спасибо!
Спасибо!
И хотелось бы узнать можно ли создать календарь с ссылками в датах. Скажем нажали на дату в прошлом а он открыл таблицу с отчетом в экзель или с других источников(таблиц, книг и листов) со всей информацией о прошлой проделанной работе? Или же нажав на текущею дату открыть таблицу для работ на сегоднящний день и сохронять этот файл в ячкйке календаря с этой датой. чтоб книга с таблицами выглядела как каленарь в начале работ, а после окончания сворачивалась снова в календарь с сохранением таблицы? Своего рода архив для востановления сценариев расхода и прихода, контроля и учета передвижения товаров и материальных сценностей. Зарание спасибо!
Николай, при анализе детализации вызовов после копирования таблицы в эксель , длительность или сумма - например 15.4 и 8.32, отображаются как 15.апр и авг.32 соответственно. Кроме как ручной правки (а это очень утомительно:() другого способа преобразования не вижу, ведь и в форматировании значения выглядят как числа даты 41714 и 11902. К сожалению провайдер не даёт детализацию в формате .xlsx, подскажите пожалуйста , как быть в этом случае?
=ЗНАЧЕН(ДЕНЬ(A1)&","&МЕСЯЦ(A1))