Нередко пользователю Excel необходимо сравнить две даты друг с другом.Такая задача может появляться в самых разных отраслях. Например, бухгалтеру необходимо вычислять количество месяцев, кварталов или лет, которые прошли между разными датами. Полезно вычислять разницу между датами и в обычной жизни. Например, многие люди планируют личные дела в Excel, ставят цели и ведут бюджет, и данная функция позволяет им лучше планировать долгосрочные отрезки времени.
Эта задача сперва может несколько сбить с толку, поскольку даты нельзя на первый взгляд сравнить между собой, как числа. Но на самом деле, это именно так и делается. Причина в том, что Excel каждую дату записывает в числовом формате. Следовательно, сравнивая даты, по сути программа сравнивает между собой два числа. И здесь возможно несколько вариантов, которые мы рассмотрим более подробно.
Содержание
- 2 популярных способа сравнения 2 дат в Excel
- Первая дата больше второй, или нет
- Функция ЕСЛИ, значение ИСТИНА или ЛОЖЬ
- Функция РАЗНДАТ — разность двух дат в днях, месяцах и годах
- Разница 2 дат в днях
- Разница дат в полных месяцах
- Разница в днях без учета лет
- Быстрое выделение различающихся значений
- Сравнение 2 дат с помощью условного форматирования
- Сравнение 2 столбцов на предмет совпадения
- Формула для сравнения 2 дат
2 популярных способа сравнения 2 дат в Excel
Итак, если нам требуется сравнить две даты между собой, это можно сделать двумя основными методами в зависимости от поставленной задачи. Давайте узнаем, какие они. В этом нет ничего сложного, формулы довольно простые и почти не отличаются от тех, которые применяются для работы с числами. Не забываем о том, что дата воспринимается электронной таблицей, как число, и обрабатывается аналогичным образом.
Первая дата больше второй, или нет
В этом случае нужно использовать аналогичную формулу, которая используется для проверки чисел: =A1>A2. Если эта проверка подтверждается, то в ячейку, куда была записана эта формула, возвращается значение “ИСТИНА”. Если же первое число меньше второго, то тогда будет записано “ЛОЖЬ”. Аналогично, только зеркально противоположно с формулой =A1<A2. Если в результате проверки оказывается, что первое значение оказалось меньше второго, то в ячейку будет возвращено логическое значение «ИСТИНА». Если же больше – «ЛОЖЬ».
Функция ЕСЛИ, значение ИСТИНА или ЛОЖЬ
Это уже более сложный вариант, который дает возможность не только говорить, действительно ли одна дата больше другой, но и указывать, на какое количество дней. Чтобы это сделать, необходимо нажать по ячейке и записать туда формулу =ЕСЛИ(A2>B2;»Первая дата больше второй на»&» «&A2-B2&» «&»дней»;»Первая дата меньше второй на»&» «&B2-A2&» «&»дней»)
Здесь мы осуществляем проверку двух дат, и исходя из того, что у нас получилось в итоге, выводим результат, на сколько дней первая дата больше, чем вторая. Чтобы это сделать, нами был использовал оператор &, который объединяет две строки текста между собой и объединенный результат возвращает в ячейку. Далее получившийся текст можно использовать сам по себе или в других формулах.
Функция РАЗНДАТ — разность двух дат в днях, месяцах и годах
Предположим, вы работаете в пенсионном фонде и хотите определить трудовой стаж в количестве лет, дней, месяцев и так далее. Это можно сделать с помощью функции РАЗНДАТ.
Ее синтаксис элементарный.
РАЗНДАТ(начальная_дата; конечная_дата; способ_измерения)
Единственный из этих аргументов, который действительно может вызвать вопросы у неподготовленного читателя – это способ измерения. С его помощью мы задаем, в каких единицах будет измеряться разница между датами. Это может быть количество месяцев, лет или количество месяцев без учета лет. Еще один вариант – это количество дней без учета месяцев и лет.
Важно учесть, что в некоторых случаях эта функция может вернуть неправильное значение. Это бывает, когда день первой даты больше, чем день второй. Такая ситуация может быть, например, когда нужно рассчитать количество дней между двумя датами, первая из которых происходила в конце месяца, а другая – в начале следующего.
Разница 2 дат в днях
Чтобы определить разницу между двумя датами в днях, необходимо воспользоваться такой формулой.
=РАЗНДАТ(A2;B2;”d”)
Но к сожалению, эта формула не работает настолько идеально, как хотелось бы. Давайте приведем небольшой пример для большей наглядности.
Предположим, начальной датой у нас является 23.02.2009, а конечной – 24.02.2009.
В результате формулой будет возвращено значение 1, что равняется количеству дней, которое прошло с момента исходной даты (отсчет начинается с нуля). Именно из-за того, что отсчет в этом случае начинается с нуля, нельзя использовать эту формулу в чистом виде, например, чтобы рассчитать количество дней, которое отработал человек. Ведь очевидно, что если человек начал работать 23 февраля, а 24 числа прекратил работать, то он по факту отработал 2 дня, а не один.
Та же самая история с количеством месяцев. Если начальной датой служит 28 февраля, а конечная – первое марта, и оба числа относятся к 2008 году, то результат будет 2 дня. И это правильно.
Чтобы решить все проблемы с отображением месяцев в Excel, существует специальная формула ЦЕЛОЕ(), которая округляет число в меньшую сторону. Поскольку время является дробной частью целого дня в понимании Excel, то фактически эти часы будут отсечены. То же касается и других элементов даты, числа, месяца, которые представлены, как дробная часть.
Кстати, можно использовать формулу =ЧИСТРАБДНИ() для того, чтобы определить количество рабочих дней между двумя датами.
Разница дат в полных месяцах
Чтобы определить количество полных месяцев, которое прошло с одной даты до другой, необходимо воспользоваться такой же самой формулой, которая была приведена выше, только третий аргумент должен содержать аргумент m.
То есть, формула следующая.
=РАЗНДАТ(A2;B2;”m”)
Эта формула также может давать несколько неточные данные. Поэтому всегда нужно перепроверять значения самостоятельно.
Разница в днях без учета лет
Эта формула также может использоваться для определения количества дней между двумя датами, но при этом не учитывать количество лет, которое прошло между этими двумя временными точками. Эта возможность есть, но пользоваться ею настоятельно не рекомендуется, потому что искажений в этом случае может быть еще больше.
Эта формула вернет правильный результат только тогда, когда в компьютере показано правильное время. Конечно, в большинстве современных операционных системах дата и время определяется автоматически, но иногда случаются сбои. Поэтому перед тем, как подсчитывать разницу в днях без учета лет, нужно убедиться, что на компьютере установлена правильная дата и время. Особенно если электронная таблица пересылалась другому человеку.
Быстрое выделение различающихся значений
Это очень просто. Если вам необходимо понять, есть ли отличающиеся значения в документе Эксель, вам необходимо найти кнопку «Найти и выделить», расположенную на вкладке «Главная». После этого в диалоговом окне «Выделить группу ячеек» в качестве критерия выбираем «отличия по строкам».
После этого все отличающиеся значения будут выделены автоматически, и с ними можно осуществлять те действия, которые нужно.
Сравнение 2 дат с помощью условного форматирования
Также можно использовать популярную функцию Excel, которая называется условным форматированием, чтобы осуществить сравнение двух дат между собой. Отличающееся значение будет выделяться определенным цветом. Причем вы решаете, как оно должно быть отформатировано.
Чтобы воспользоваться этой опцией, необходимо перейти на вкладку «Главная», и там найти соответствующую большую кнопку. Появится список, в котором нас интересует пункт «Управление правилами». После того, как мы выберем опцию «Диспетчер правил условного форматирования», нам необходимо создать правило с помощью специальной кнопки, которая располагается там же.
В качестве правила условного форматирования необходимо использовать формулу. После этого записываем формулу (важно, чтобы результат получался истинным), стиль форматирования и нажимаем на кнопку «ОК».
Такое сравнение можно осуществлять с данными любого типа, не только с датами. Скорее, данный метод нужен для того, чтобы выделить данные, которые отличаются, чтобы потом прописать для них функцию. Но можно изначально прописать ту функцию, которая подходит в конкретной ситуации и выделить истинные значения специальным цветом. Здесь уже как душе будет угодно.
Сравнение 2 столбцов на предмет совпадения
Чтобы сравнить между собой два столбца, являются ли они одинаковыми или нет, необходимо воспользоваться условным форматированием. Последовательность действий в целом такая же, как описано выше. Предположим, нам необходимо выполнить такие операции со следующей таблицей.
Каждой колонке нужно дать правильное имя сперва. С помощью него нам будет легче понять, какие диапазоны ячеек сравниваются между собой.
Сама последовательность действий следующая:
- Переходим на вкладку «Формулы». Там нужно найти кнопку «Присвоит имя». Она находится в самом верху панели инструментов непосредственно под заголовком самой вкладки.
- Откроется окно, в котором нам нужно задать имя для каждого из диапазонов. Допустим, нам нужно назвать первый диапазон «Таблица 1».
- После этого выбираем диапазон, который нам нужно так назвать. Для этого нажимаем на кнопку, расположенную справа от поля, подписанного как «Диапазон», выделить нужный набор ячеек и нажать на кнопку «ОК».
- Действия со вторым списком аналогичны. Единственное исключение – нужно дать ему другое имя. Ну и естественно, задать правильные адреса этого диапазона.
Рекомендация. Воспользуйтесь полем имен для того, чтобы дать диапазону нужное имя значительно быстрее.
Найти его вовсе несложно. После того, как мы выделим подходящий набор ячеек, слева от строки формул нужно нажать на поле, показанное на скриншоте. После этого вводим имя и нажимаем на кнопку «Ввод».
Для сравнения двух колонок нам нужно воспользоваться уже знакомым инструментом «Условное форматирование». Приблизительная последовательность действий будет следующей. Если говорить о конкретных шагах, то они будут сильно зависеть от того, какую конкретную задачу необходимо выполнить пользователю.
- Выделяем нужный диапазон. После этого создаем правило форматирования «Использовать формулу…».
6 - После этого в соответствующем поле вводится сама формула, а также задается формат ячеек, для которых эта формула оказывается истинной.
7 - Далее выбираем заливку. После этого снова выбирается условное форматирование, но уже для другого списка. На этот раз, нужно выбрать другой цвет.
После того, как мы закончим все эти действия, получим приблизительно следующий результат.
Нами была применена функция СЧЕТЕСЛИ, которая осуществляет проверку списка на предмет соответствия определенному критерию, после чего выдает значение «ИСТИНА» или «ЛОЖЬ». Если была возвращена «ИСТИНА», то соответствующие ячейки окрашиваются в цвета, заданные пользователем до использования условного форматирования.
Проверка будет осуществляться поочередно. И использоваться эта формула может и во всех других случаях, не только для сравнения двух дат между собой. Например, если есть два прайса, где нужно сравнить цены между собой (определить, какие отличаются, какие больше по сравнению с аналогичными позициями другого прайса), то также можно использовать эту формулу в условном форматировании.
Формула для сравнения 2 дат
Как видим, формула для сравнения 2 дат может быть любой из вышеперечисленных. Пользователь может выбирать, какую из них выбирать. В ряде случаев придется модифицировать их, чтобы адаптировать под конкретные цели. Например, когда перед нами стояла задача определить, сколько дней работник проработал, то к имеющейся формуле нужно добавлять единицу, чтобы отсчет начать не с нуля, а первого дня.
Таких нюансов может быть еще огромное количество. Но все эти тонкости постигаются в процессе работы с электронными таблицами. К сожалению, даже одной большой статьи недостаточно, чтобы раскрыть все аспекты сравнения дат. Тем не менее, это не такая сложная задача, как может показаться на первый взгляд. И мы только что в этом убедились. Успехов.
Оцените качество статьи. Нам важно ваше мнение:
andronus Пользователь Сообщений: 147 |
#1 19.11.2020 18:09:43 Здравствуйте. Имеется Лист1, на котором указаны строки с датами в промежутке между 26.10.2020 6:56:05 и 28.10.2020 22:29:25. Таких строк — 625.
где ясно видно, что нужно посчитать всё, больше либо равно (>=) 26/10/2020 и меньше либо равно (<=) 28/10/2020. То бишь, под это условие попадают все 625 строк.
то ничего не изменится, значение так и остается 188. Вопрос: почему, когда я пишу меньше либо равно (<=) 28/10/2020, Excel не учитывает эту дату? Ведь есть «равно» в формуле. Как посчитать еще и 28/10/2020? PS: дополнительно игрался с формулой вида:
в ячейке B4, что тоже не дало результата. Прикрепленные файлы
|
||||||
vikttur Пользователь Сообщений: 47199 |
Все правильно считается. |
а как вы думаете 28/10/20 00:00:01 больше 28/10/20 или меньше равно 28/10/20 ? что написано, то и посчитано Изменено: Ігор Гончаренко — 19.11.2020 18:23:00 Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
|
andronus Пользователь Сообщений: 147 |
#4 19.11.2020 18:59:38 vikttur, Ігор Гончаренко, следуя логике, формула «<= 28/10/2020» это всё, что либо меньше, либо равно дате 28.20.2020. Если логика Excel не совпадает с логикой общепринятой, то увольте. Это меня и удивило. Хотелось бы услышать ответ на заданный вопрос — как учесть еще и 28.10.2020 с учетом наличия времени? Изменить формулу на «<29/10/2020» или «<=29/10/2020» не предлагать. Нужно, чтоб обязательно было «<=28/10/2020». То бишь, чтоб можно было задавать конкретный день «по», а не «до». Да, если изменить формулу на:
то всё ок. Но так неинтересно. Изменено: andronus — 19.11.2020 19:02:52 |
||
memo Пользователь Сообщений: 1422 Excel 2013/2016 |
#5 19.11.2020 19:07:23
Попробуйте так:
Изменено: memo — 19.11.2020 19:07:51 |
||||
andronus Пользователь Сообщений: 147 |
#6 19.11.2020 19:13:00 Я придумал решение. Всё еще проще оказалось. Всем спасибо.
Изменено: andronus — 19.11.2020 20:00:57 |
||
vikttur Пользователь Сообщений: 47199 |
#7 19.11.2020 19:21:14
Дата — целое число — количество дней от 01.01.1900. Время — дробное. (1 час — 1/24, 7 часов — 7/24) |
||
Ігор Гончаренко Пользователь Сообщений: 13746 |
#8 19.11.2020 19:22:57
представьте шкалу времени с посекунжними ометками на ней а как по вашему Изменено: Ігор Гончаренко — 19.11.2020 19:23:55 Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
||
andronus Пользователь Сообщений: 147 |
Всем спасибо, выше я нашел решение. |
vikttur Пользователь Сообщений: 47199 |
Да, если это ДАТА БЕЗ ВРЕМЕНИ! |
собирайте последователей вашей логики в отдельное сообщество, назовем его сектой или новой логической школой Изменено: Ігор Гончаренко — 19.11.2020 19:57:46 Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
|
andronus Пользователь Сообщений: 147 |
#12 19.11.2020 20:06:11 Всем спасибо, выше я нашел решение. |
Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Excel 2007 Еще…Меньше
Для подсчета чисел или дат, которые соответствуют одному условию (например, больше, меньше, больше или равно или меньше или равно), используйте функцию СЧЁТЕIF. Для подсчета чисел или дат, которые попадают в диапазон (например, больше 9000 и при этом меньше 22500), можно использовать функцию СЧЁТЕ ЕСЛИМН. Кроме того, можно также использовать суммПРОИВ.
Пример
Примечание: Вам потребуется настроить ссылки на формулы в ячейках, указанные здесь, в зависимости от того, где и как вы копируете эти примеры в Excel листе.
1 |
A |
B |
---|---|---|
2 |
Продавец |
Счет |
3 |
Грачев |
15 000 |
4 |
Грачев |
9 000 |
5 |
Шашков |
8 000 |
6 |
Суйма |
20 000 |
7 |
Грачев |
5 000 |
8 |
Зайцев |
22 500 |
9 |
Формула |
Описание (результат) |
10 |
=СЧЁТЕ ЕСЛИ(B2:B7;»>9000″) |
Функция СЧЁТЕФ подсчитывирует количество ячеек в диапазоне B2:B7, содержащих числа больше 9000 (4). |
11 |
=СЧЁТЕ ЕСЛИ(B2:B7;»<=9000″) |
Функция СЧЁТЕФ подсчитывирует количество ячеек в диапазоне B2:B7, содержащих числа меньше 9000 (4). |
12 |
=СЧЁТЕ ЕСЛИМН(B2:B7;»>=9000″;B2:B7;»<=22500″) |
Функция СЧЁТЕ ЕСЛИМН (доступна в Excel 2007 г. и более поздних) подсчитывают количество ячеек в диапазоне B2:B7, большее или равное 9000, и меньше или равно 22500 (4). |
13 |
=СУММПРОИВ((B2:B7>=9000)*(B2:B7<=22500)) |
Функция СУММПРОИПР подсчитывает количество ячеек в диапазоне B2:B7, содержащих числа, которые больше или равны 9000 и меньше или равны 22500 (4). Эту функцию можно использовать в Excel 2003 и более ранних, где функция СЧЁТЕФМН недоступна. |
14 |
Системная дата |
|
15 |
3/11/2011 |
|
16 |
1/1/2010 |
|
17 |
12/31/2010 |
|
18 |
6/30/2010 |
|
19 |
Формула |
Описание (результат) |
20 |
=СЧЁТЕ ЕСЛИ(B14:B17;»>01.03.2010″) |
Количество ячеек в диапазоне B14:B17 с данными больше 01.03.2010 г. (3). |
21 |
=СЧЁТЕ ЕСЛИ(B14:B17;»31.12.2010″) |
Количество ячеек в диапазоне B14:B17, равное 31.12.2010 (1). Знак равно не требуется в условиях, поэтому он не включается в условия (формула будет работать со знаком равно, если вы включит его («=31.12.2010»). |
22 |
=СЧЁТЕ ЕСЛИМН(B14:B17;»>=01.01.2010″;B14:B17;»<=31.12.2010″) |
Количество ячеек в диапазоне B14:B17 между (включительно) 01.01.2010 и 31.01.2010 (3). |
23 |
=СУММПРОИВ((B14:B17>=ДАТА.ДАТА.В.(«01.01.2010»))*(B14:B17<=ДАТАVALUE(«31.12.2010»))) |
Количество ячеек в диапазоне B14:B17 между (включительно) 01.01.2010 и 31.01.2010 (3). Этот пример служит заменой функции СЧЁТЕНФС, которая впервые была представлена в Excel 2007 г. Функция ДАТА.ВЕО преобразует даты в числовые значения, с которыми затем может работать функция СУММПРОИВ. |
Нужна дополнительная помощь?
Предположим, у вас есть список дат и вы хотите сравнить эти даты с указанной датой, чтобы узнать дату, которая больше указанной даты в списке, что бы вы сделали? В этой статье мы покажем вам методы сравнения дат, если они больше другой даты в Excel.
Сравните даты, если они больше, чем другая, с формулой
Как показано на скриншоте ниже, вы можете сравнить даты в столбце «Дата» с указанной датой 2015/3/10 и, наконец, получить определенные даты, которые больше, чем в этом столбце, с помощью следующей формулы.
1. Введите указанную дату 2015/3/10 в пустую ячейку, например ячейку F2.
2. Выберите пустую ячейку, соответствующую первой ячейке даты в столбце «Дата», например G2. Затем скопируйте и вставьте формулу = ЕСЛИ (A2> $ F $ 2; «ДА»; «НЕТ») в панель формул и нажмите Enter ключ. Смотрите скриншот:
3. Выберите ячейку G2, перетащите маркер заполнения вниз к ячейке, которую вы хотите покрыть этой формулой.
4. Вы получите результаты с отображением в ячейках Нет и Да. Нет означает, что соответствующая дата меньше указанной даты, а Да означает, что соответствующая дата больше указанной даты.
Легко сравнивать даты, если они больше, чем другая дата с Kutools for Excel
The Выберите определенные ячейки полезности Kutools for Excel может помочь вам быстро найти даты больше, чем другая дата в Excel.
Kutools for Excel : с более чем 300 удобными надстройками Excel, бесплатно попробовать без ограничений в 30 дня.
1. Выберите диапазон дат, которые вы хотите сравнить, а затем щелкните Кутулс > Выберите > Выбрать определенные ячейки. Смотрите скриншот:
2. в Выбрать определенные ячейки диалоговое окно, выберите Ячейка в Тип выбора раздел, выберите Больше и введите дату сравнения в поле под Конкретный тип раздел и, наконец, нажмите OK or Применить кнопку.
Затем сразу выбираются ячейки с датами, которые больше указанной даты.
Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Сравните даты, если они больше, чем другая дата с Kutools for Excel
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Как в экселе сравнить две даты?
В программе эксель даты можно сравнивать точно так же, как обычные числа. Рассмотрим несколько возможных вариантов.
Первый вариант. Самый простой, мы сравним больше первая дата второй или нет. Для этого в ячейке «А2» поставим обычно сравнение =A2>B2, ответ получим, что это «Истина», что означает правда. Вот как это будет выглядеть в программе эксель.
Точно также к этим датам можно применить знак меньше, равно и получать соответствующие ответы.
Второй вариант. Можно воспользовавшись функцией «Если», получать в качестве ответа непросто слова: истина или ложь, но и результат с определенным количеством разницы дат.
Для этого в ячейке «С2», напишем новую формулу: =ЕСЛИ(A2>B2;»Первая дата больше второй на»&» «&A2-B2&» «&»дней»;»Первая дата меньше второй на»&» «&B2-A2&» «&»дней»)
В функции «Если» мы сравниваем две даты и в зависимости от результаты выводим ответ, первая дата больше или меньше второй и на сколько дней. Для этого мы пользуемся специальным оператором &, который сцепляет в нужной последовательности текст, чтобы получить более оригинальный ответ.
Функция РАЗНДАТ() — Вычисление разности двух дат в днях, месяцах, годах в MS EXCEL
Если Вам требуется рассчитать стаж (страховой) в годах, месяцах, днях, то, пожалуйста, воспользуйтесь расчетами выполненными в статье Расчет страхового (трудового) стажа в MS EXCEL.
Функции РАЗНДАТ( ) нет в справке EXCEL2007 и в Мастере функций (SHIFT+F3), но она работает, хотя и не без огрех.
Синтаксис функции:
РАЗНДАТ(начальная_дата; конечная_дата; способ_измерения)
Аргумент начальная_дата должна быть раньше аргумента конечная_дата.
Аргумент способ_измерения определяет, как и в каких единицах будет измеряться интервал между начальной и конечной датами. Этот аргумент может принимать следующие значения:
Значение
Описание
разница в полных месяцах
разница в полных годах
разница в полных месяцах без учета лет
разница в днях без учета месяцев и лет
ВНИМАНИЕ! Функция для некоторых версий EXCEL возвращает ошибочное значение, если день начальной даты больше дня конечной даты (например, в EXCEL 2007 при сравнении дат 28.02.2009 и 01.03.2009 результат будет 4 дня, а не 1 день). Избегайте использования функции с этим аргументом. Альтернативная формула приведена ниже.
разница в днях без учета лет
ВНИМАНИЕ! Функция для некоторых версий EXCEL возвращает ошибочное значение. Избегайте использования функции с этим аргументом.
Ниже приведено подробное описание всех 6 значений аргумента способ_измерения, а также альтернативных формул (функцию РАЗНДАТ() можно заменить другими формулами (правда достаточно громоздкими). Это сделано в файле примера ).
В файле примера значение аргумента начальная_дата помещена в ячейке А2, а значение аргумента конечная_дата – в ячейке В2.
1. Разница в днях («d»)
Формула =РАЗНДАТ(A2;B2;»d») вернет простую разницу в днях между двумя датами.
Пример1: начальная_дата 25.02.2007, конечная_дата 26.02.2007
Результат: 1 (день).
Этот пример показыват, что при подсчете стажа необходимо использовать функцию РАЗНДАТ() с осторожностью. Очевидно, что если сотрудник работал 25 и 26 февраля, то отработал он 2 дня, а не 1. То же относится и к расчету полных месяцев (см. ниже).
Пример2: начальная_дата 01.02.2007, конечная_дата 01.03.2007
Результат: 28 (дней)
Пример3: начальная_дата 28.02.2008, конечная_дата 01.03.2008
Результат: 2 (дня), т.к. 2008 год — високосный
Эта формула может быть заменена простым выражением =ЦЕЛОЕ(B2)-ЦЕЛОЕ(A2) . Функция ЦЕЛОЕ() округляет значение до меньшего целого и использована для того случая, если исходные даты введены вместе с временем суток ( РАЗНДАТ() игнорирует время, т.е. дробную часть числа, см. статью Как Excel хранит дату и время).
Примечание: Если интересуют только рабочие дни, то количество рабочих дней между двумя датами можно посчитать по формуле =ЧИСТРАБДНИ(B2;A2)
2. Разница в полных месяцах («m»)
Формула =РАЗНДАТ(A2;B2;»m») вернет количество полных месяцев между двумя датами.
Пример1: начальная_дата 01.02.2007, конечная_дата 01.03.2007
Результат: 1 (месяц)
Пример2: начальная_дата 01.03.2007, конечная_дата 31.03.2007
Результат: 0
При расчете стажа, считается, что сотрудник отработавший все дни месяца — отработал 1 полный месяц. Функция РАЗНДАТ() так не считает!
Пример3: начальная_дата 01.02.2007, конечная_дата 01.03.2009
Результат: 25 месяцев
Формула может быть заменена альтернативным выражением:
=12*(ГОД(B2)-ГОД(A2))-(МЕСЯЦ(A2)-МЕСЯЦ(B2))-(ДЕНЬ(B2) ДЕНЬ(B2);
ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B2;-1);0))-ДЕНЬ(A2)+ДЕНЬ(B2);
ДЕНЬ(B2)-ДЕНЬ(A2))
Данная формула лишь эквивалетное (в большинстве случаев) выражение для РАЗНДАТ() с параметром md. О корректности этой формуле читайте в разделе «Еще раз о кривизне РАЗНДАТ()» ниже.
6. Разница в днях без учета лет («yd»)
Формула =РАЗНДАТ(A2;B2;»yd») вернет количество дней между двумя датами без учета лет. Использовать ее не рекомендуется по причинам, изложенным в предыдущем пункте.
Результат, возвращаемый формулой =РАЗНДАТ(A2;B2;»yd») зависит от версии EXCEL.
Формула может быть заменена альтернативным выражением:
=ЕСЛИ(ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2))>B2;
B2-ДАТА(ГОД(B2)-1;МЕСЯЦ(A2);ДЕНЬ(A2));
B2-ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2)))
Еще раз о кривизне РАЗНДАТ()
Найдем разницу дат 16.03.2015 и 30.01.15. Функция РАЗНДАТ() с параметрами md и ym подсчитает, что разница составляет 1 месяц и 14 дней. Так ли это на самом деле?
Имея формулу, эквивалентную РАЗНДАТ() , можно понять ход вычисления. Очевидно, что в нашем случае количество полных месяцев между датами = 1, т.е. весь февраль. Для вычисления дней, функция находит количество дней в предыдущем месяце относительно конечной даты, т.е. 28 (конечная дата принадлежит марту, предыдущий месяц — февраль, а в 2015г. в феврале было 28 дней). После этого отнимает день начала и прибавляет день конечной даты = ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B6;-1);0))-ДЕНЬ(A6)+ДЕНЬ(B6) , т.е. 28-30+16=14. На наш взгляд, между датами все же 1 полный месяц и все дни марта, т.е 16 дней, а не 14! Эта ошибка проявляется, когда в предыдущем месяце относительно конечной даты, дней меньше, чем дней начальной даты. Как выйти из этой ситуации?
Модифицируем формулу для расчета дней разницы без учета месяцев и лет:
Как в excel сравнить две даты
Как подсчитать разницу даты и времени в excel?
Если вычислять разницу 2018-01-09 15:24:05 и 2018-01-08 20:06:25, то пишет только время, а если отнимать 2018-01-10 15:24:05 и 2018-01-08 20:06:25 то пишет 1 дней и время.
Я так понимаю, такое внутренними средствами Excel это не сделать? Пробовал через
Если разница только во времени, то все как положено считает и выводит только разницу во времени, а если будет разница превышающая 24 часа или один месяц?
Если я правильно Вас понял — то может что-то типа такого?
Дата в Excel — число дней от 01.01.1900г., время — дробная часть числа. Например, 10.01.2018 10:15:20 в числовом выражении будет 43110,4273148148 (выражение даты в десятичном формате можно посмотреть, задав формат ячейки Общий).
Т.к. дата — число, то перевод ее в текстовый формат нежелателен — не всегда тестовое представление преобразуется в число, а это чревато ошибками или невозможностью применения полученного значения для дальнейших вычислений.
Визуально показать требуемое можно с помощью формата ячейки (задать в закладке «все форматы«):
Значение дата/время сохранено в числовом формате. Недостаток: формат отобразит количество дней не более 31
Но дата/время текстом также применяется (например: в конечных документах, для отображения значения в составе другого текста):
8 способов как сравнить две таблицы в Excel
Добрый день!
Эта статья посвящена решению такого вопроса, как сравнить две таблицы в Excel, ну или, по крайней мере, два столбца. Да, работать с таблицами удобно и хорошо, но вот когда нужно их сравнение, визуально это сделать достаточно затруднительно. Быть может таблицу до десятка или двух, вы и сможете визуально отсортировать, но вот когда они будут превышать тысячи, тут уже вам будет необходимо дополнительные инструменты анализа.
Увы, нет магической палочки, с помощью которой в один клик всё сделается и информация будет проверена, необходимо и подготовить данные, и прописать формулы, и иные процедуры позволяющие сравнить вашитаблицы.
Рассмотрим несколько вариантов и возможностей для сравнения таблиц в Excel:
Простой способ, как сравнить две таблицы в Excel
Это самые простой и элементарный способ сравнения двух таблиц. Сравнивать таким способом возможно, как числовые значение, так и текстовые. Для примера сравним два диапазона числовых значений, всего на всего прописав в соседней ячейке формулу их равенства =C2=E2, как результат при равенстве ячеек мы получим ответ «ИСТИНА», а если совпадений нет, будет «ЛОЖЬ». Теперь простым авто копированием копируем на весь диапазон нашу формулу позволяющую сравнить два столбика в Excel и видим разницу.
Быстрое выделение значений, которые отличаются
Это также не очень обременительный способ. Если вам просто нужно найти и удостовериться в наличии, ну или отсутствии отличий между таблицами, вам нужно на вкладке «Главная», выбрать кнопку меню «Найти и выделить», предварительно выделив диапазон где надо сравнить две таблицы в Excel. В открывшимся меню выберите пункт «Выделить группу ячеек…» и в появившемся диалоговом окне выберите «отличия по строкам».
Сравнить две таблицы в Excel с помощью условного форматирования
Очень хороший способ, при котором вы сможете видеть выделенным цветом значение, которые при сличении двух таблиц отличаются. Применить условное форматирование вы можете на вкладке «Главная», нажав кнопку «Условное форматирование» и в предоставленном списке выбираем «Управление правилами». В диалоговом окне «Диспетчер правил условного форматирования», жмем кнопочку «Создать правило» и в новом диалоговом окне «Создание правила форматирования», выбираем правило «Использовать формулу для определения форматируемых ячеек». В поле «Изменить описание правила» вводим формулу =$C2<>$E2 для определения ячейки, которое нужно форматировать, и нажимаем кнопку «Формат». Определяем стиль того, как будет форматироваться наше значение, которое соответствует критерию. Теперь в списке правил появилось наше ново сотворённое правило, вы его выбираете, нажимаете «Ок».
И все правило применилось к нашему диапазону, где мы пытаемся проверить на похожесть две таблицы, и стало видны отличия, к которым применилось условное форматирование.
Как сравнить две таблицы в Excel с помощью функции СЧЁТЕСЛИ и правил
Все вышеперечисленные способы хороши для упорядоченных таблиц, а вот когда данные, не упорядоченные необходимы иные способы один из которых мы сейчас и рассмотрим. Представим, к примеру, у нас есть 2 таблицы, значения в которых немного отличаются и нам необходимо сравнить эти таблицы для определения значения, которое отличается. Выделяем значение в диапазоне первой таблицы и на вкладке «Главная», пункт меню «Условное форматирование» и в списке жмем пункт «Создать правило…», выбираем правило «Использовать формулу для определения форматируемых ячеек», вписываем формулу =СЧЁТЕСЛИ($C$1:$C$7;C1)=0 и выбираем формат условного форматирования.
Формула проверяет значение из определенной ячейки C1 и сравнивает ее с указанным диапазоном $C$1:$C$7 из второго столбика. Копируем правило на весь диапазон, в котором мы сравниваем таблицы и получаем выделенные цветом ячейки значения, которых не повторяется.
Как сравнить две таблицы в Excel с помощью функции ВПР
В этом варианте мы будем использовать функцию ВПР, которая позволит нам сравнить две таблицы на предмет совпадений. Для сравнения двух столбиков, введите формулу =ВПР(C2;$D$2:$D$7;1;0) и скопируйте ее на весь сравниваемый диапазон. Эта формула последовательно начинает проверять есть ли повторы значения из столбика А в столбике В, ну и соответственно возвращает значение элемента, если оно было там найдено если же значение не найдено получаем ошибку #Н/Д.
Как сравнить две таблицы в Excel функции ЕСЛИ
Этот вариант предусматривает использования логической функции ЕСЛИ и отличие этого способа в том что для сравнения двух столбцов будет использован не весь массив целиком, а только та ее часть, которая нужна для сравнения.
Для примера, сравним два столбика А и В на рабочем листе, в соседней колонке С введем формулу: =ЕСЛИ(ЕОШИБКА(ПОИСКПОЗ(C2;$E$2:$E$7;0));»»;C2) и копируем ее на весь вычисляемый диапазон. Эта формула позволяет просматривать последовательно есть ли определенные элементы из указанного столбика А в столбике В и возвращает значение, в случае если оно было найдено в столбике В.
Сравнить две таблицы с помощью макроса VBA
Есть много способов проверить две таблицы на схожесть, но некоторые варианты возможно только с помощью макросов VBA. Макросы для того что бы сравнить две таблицы, унифицирует этот процесс и существенно сокращает затраченное время на подготовку данных. Исходя из решаемой вами задачи и знаний макросов VBA, вы можете создавать любые варианты макросов. Ниже я привел методику, указанную на официальной страничке Microsoft. Вам нужно создать модуль для кода VBA и ввести код:
Как сделать сравнение дат в 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 сравнение дат
В разделе Программное обеспечение на вопрос Здравствуйте. Подскажите как в экселе сравнить две даты. То есть в одной ячейке например день рождения, заданный автором Недоносок лучший ответ это сравнить, значит иметь возможность упорядочения если ячейка имеет тип «дата», то всё очевидно — упорядочиваются автоматически
Ответ от Abram Pupkin
вы изначально поставили неправильно вопрос. возмем 2-е даты: например 02.01.1990 и 25.11.2010 как надо сравнить эти даты : по расположению (справа/слева) , какая дата больше, сколько прошло дней (недель, месяцев) , сколько осталось до
Как обычно, кому надо быстро — смотрим видео. Подробности и нюансы — в тексте ниже:
Как вводить даты и время в Excel
Если иметь ввиду российские региональные настройки, то Excel позволяет вводить дату очень разными способами — и понимает их все:
С использованием дефисов
С использованием дроби
Внешний вид (отображение) даты в ячейке может быть очень разным (с годом или без, месяц числом или словом и т.д.) и задается через контекстное меню — правой кнопкой мыши по ячейке и далее Формат ячеек (Format Cells):
Время вводится в ячейки с использованием двоеточия. Например
По желанию можно дополнительно уточнить количество секунд — вводя их также через двоеточие:
И, наконец, никто не запрещает указывать дату и время сразу вместе через пробел, то есть
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: