Как поставить неизменную отметку времени автоматически формулами?
Допустим, у вас есть список товаров в столбце A, и, как только один из них будет отправлен заказчику, вы вводите «Да» в колонке «Доставка», то есть в столбце B. Как только «Да» появится там, вы хотите автоматически зафиксировать в колонке С время, когда это произошло. И менять его уже не нужно.
Для этого мы попробуем использовать вложенную функцию ИЛИ с циклическими ссылками во второй ее части:
Где B – это колонка подтверждения доставки, а C2 – это ячейка, в которую вы вводите формулу и где в конечном итоге появится статичная отметка времени.
В приведенной выше формуле первая функция ЕСЛИ проверяет B2 на наличие слова «Да» (или любого другого текста, который вы решите ввести). И если указанный текст присутствует, она запускает вторую функцию ЕСЛИ. В противном случае возвращает пустое значение. Вторая ЕСЛИ – это циклическая формула, которая заставляет функцию ТДАТА() возвращать сегодняшний день и время, только если в C2 еще ничего не записано. А если там уже что-то есть, то ничего не изменится, сохранив таким образом все существующие метки.
Если вместо проверки какого-либо конкретного слова вы хотите, чтобы временная метка появлялась, когда вы хоть что-нибудь пишете в указанную ячейку (это может быть любое число, текст или дата), то немного изменим первую функцию ЕСЛИ для проверки непустой ячейки:
Примечание. Чтобы эта формула работала, вы должны разрешить циклические вычисления на своем рабочем листе (вкладка Файл – параметры – Формулы – Включить интерактивные вычисления). Также имейте в виду, что в основном не рекомендуется делать так, чтобы ячейка ссылалась сама на себя, то есть создавать циклические ссылки. И если вы решите использовать это решение в своих таблицах, то это на ваш страх и риск.
Функция РАЗНДАТ – разность двух дат в днях, месяцах и годах
Предположим, вы работаете в пенсионном фонде и хотите определить трудовой стаж в количестве лет, дней, месяцев и так далее. Это можно сделать с помощью функции РАЗНДАТ.
Ее синтаксис элементарный.
РАЗНДАТ(начальная_дата; конечная_дата; способ_измерения)
Единственный из этих аргументов, который действительно может вызвать вопросы у неподготовленного читателя – это способ измерения. С его помощью мы задаем, в каких единицах будет измеряться разница между датами. Это может быть количество месяцев, лет или количество месяцев без учета лет. Еще один вариант – это количество дней без учета месяцев и лет.
Важно учесть, что в некоторых случаях эта функция может вернуть неправильное значение. Это бывает, когда день первой даты больше, чем день второй
Такая ситуация может быть, например, когда нужно рассчитать количество дней между двумя датами, первая из которых происходила в конце месяца, а другая – в начале следующего.
Пример №1. Подсчет количества лет между двумя датами
На примере выше, формула возвращает количество лет между двумя датами. Например, функция вернет значение “27” если вы захотите посчитать количество полных лет между двумя датами 19 июня 1989 года и 26 марта 2017 года. Система подсчитывает количество полных лет и игнорирует количество месяцев и дней между датами.
Разница дат в полных месяцах
Чтобы определить количество полных месяцев, которое прошло с одной даты до другой, необходимо воспользоваться такой же самой формулой, которая была приведена выше, только третий аргумент должен содержать аргумент m.
То есть, формула следующая.
=РАЗНДАТ(A2;B2;”m”)
Эта формула также может давать несколько неточные данные. Поэтому всегда нужно перепроверять значения самостоятельно.
Разница в днях без учета лет
Эта формула также может использоваться для определения количества дней между двумя датами, но при этом не учитывать количество лет, которое прошло между этими двумя временными точками. Эта возможность есть, но пользоваться ею настоятельно не рекомендуется, потому что искажений в этом случае может быть еще больше.
1
Эта формула вернет правильный результат только тогда, когда в компьютере показано правильное время. Конечно, в большинстве современных операционных системах дата и время определяется автоматически, но иногда случаются сбои. Поэтому перед тем, как подсчитывать разницу в днях без учета лет, нужно убедиться, что на компьютере установлена правильная дата и время. Особенно если электронная таблица пересылалась другому человеку.
Количество рабочих дней между двумя датами
Здесь ситуация чуть сложнее. Необходимо не учитывать субботы с воскресеньями и праздники. Для такого расчета лучше воспользоваться функцией ЧИСТРАБДНИ (NETWORKDAYS) из категории Дата и время. В качестве аргументов этой функции необходимо указать начальную и конечную даты и ячейки с датами выходных (государственных праздников, больничных дней, отпусков, отгулов и т.д.):
Примечание: Эта функция появилась в стандартном наборе функций Excel начиная с 2007 версии. В более древних версиях сначала необходимо подключить надстройку Пакета анализа. Для этого идем в меню Сервис — Надстройки (Tools — Add-Ins) и ставим галочку напротив Пакет анализа (Analisys Toolpak). После этого в Мастере функций в категории Дата и время появится необходимая нам функция ЧИСТРАБДНИ (NETWORKDAYS).
Сдвиг даты на заданное количество дней
Поскольку одни сутки в системе отсчета даты Excel принимаются за единицу (см.выше), то для вычисления даты, отстоящей от заданной на, допустим, 20 дней, достаточно прибавить к дате это число.
Сдвиг даты на заданное количество рабочих дней
Эту операцию осуществляет функция РАБДЕНЬ (WORKDAY). Она позволяет вычислить дату, отстоящую вперед или назад относительно начальной даты на нужное количество рабочих дней (с учетом выходных суббот и воскресений и государственных праздинков). Использование этой функции полностью аналогично применению функции ЧИСТРАБДНИ(NETWORKDAYS) описанной выше.
Вычисление дня недели
Вас не в понедельник родили? Нет? Уверены? Можно легко проверить при помощи функции ДЕНЬНЕД (WEEKDAY) из категории Дата и время.
Первый аргумент этой функции — ячейка с датой, второй — тип отсчета дней недели (самый удобный — 2).
Вычисление временных интервалов
Поскольку время в Excel, как было сказано выше, такое же число, как дата, но только дробная его часть, то с временем также возможны любые математические операции, как и с датой — сложение, вычитание и т.д.
Нюанс здесь только один. Если при сложении нескольких временных интервалов сумма получилась больше 24 часов, то Excel обнулит ее и начнет суммировать опять с нуля. Чтобы этого не происходило, нужно применить к итоговой ячейке формат 37:30:55:
Исправление записей с двузначными годами.
Современные версии Microsoft Excel достаточно умны, чтобы обнаружить некоторые очевидные ошибки в ваших данных, или, точнее, сказать, что Эксель считает ошибкой. Когда это произойдет, вы увидите индикатор ошибки (маленький зеленый треугольник) в верхнем левом углу клетки, и, когда вы выделите её, появится восклицательный знак.При нажатии на восклицательный знак отобразятся несколько параметров, относящихся к вашим данным. В случае двухзначного года программа спросит, хотите ли вы преобразовать его в 19XX или 20XX.
Если у вас имеется несколько записей этого типа, вы можете исправить их все одним махом – выделите все ячейки с ошибками, затем нажмите на восклицательный знак и выберите соответствующую опцию.
Как автоматически заполнять даты в Excel
Если вам нужно заполнить большую часть таблицы датами, вы можете использовать специальную функцию под названием автозаполнение. Давайте рассмотрим некоторые частные случаи его использования.
Предположим, нам нужно составить список дат, каждая из которых на день больше предыдущего. В этом случае вам нужно использовать автозаполнение, как и любое другое значение. Сначала вам нужно указать начальную дату в ячейке, а затем, используя индикатор автозаполнения, переместить формулу вниз или вправо, в зависимости от порядка, в котором информация в таблице расположена в данном конкретном случае. Маркер автозаполнения представляет собой небольшой квадрат, который находится в правом нижнем углу ячейки, перетаскивая его, вы можете автоматически вводить огромный объем информации. Программа автоматически определяет, как правильно компилировать, и в большинстве случаев это оказывается правильным. На этом скриншоте мы собрали дни в одну колонку. Результат следующий.
Но возможности автозаполнения на этом не заканчиваются. Вы также можете делать это в будние дни, месяцы или годы. Есть два способа сделать это.
- Используйте стандартный индикатор автозаполнения, как описано выше. После того, как программа завершит все автоматически, вам нужно щелкнуть значок с параметрами автозаполнения и выбрать соответствующий метод.
- Перетащите маркер автозаполнения правой кнопкой мыши, и когда вы отпустите его, автоматически появится меню настроек. Выбирайте нужный вам способ и все будет хорошо.
Вы также можете автоматически вставлять каждые N дней. Для этого вам нужно добавить значение в ячейку, щелкнуть правой кнопкой мыши маркер автозаполнения, удерживать его и перетащить туда, где должна заканчиваться числовая последовательность. Затем выберите параметр заполнения «Progression» и выберите значение шага.
MySQL | Функции для работы с датами и временем
Последнее обновление: 26.05.2018
MySQL имеет ряд встроенных функций для работы с датами и временем.
Получение даты и времени
- Функции NOW(), SYSDATE(), CURRENT_TIMESTAMP() возвращают текущую локальную дату и время на основе системных часов в виде объекта datetime. Все три функции возвращают одинаковый результат SELECT NOW(); — 2018-05-25 21:34:55
SELECT SYSDATE(); — 2018-05-25 21:34:55
SELECT CURRENT_TIMESTAMP(); — 2018-05-25 21:32:55 - Функции CURDATE и CURRENT_DATE возвращают текущую локальную дату в виде объекта date: SELECT CURRENT_DATE(); — 2018-05-25
SELECT CURDATE(); — 2018-05-25 - Функции CURTIME и CURRENT_TIME возвращают текущее время в виде объекта time: SELECT CURRENT_TIME(); — 20:47:45
SELECT CURTIME(); — 20:47:45 - UTC_DATE возвращает текущую локальную дату относительно GMT SELECT UTC_DATE(); — 2018-05-25
- UTC_TIME возвращает текущее локальное время относительно GMT SELECT UTC_TIME(); — 17:47:45
Парсинг даты и времени
- DAYOFMONTH(date) возвращает день месяца в виде числового значения
- DAYOFWEEK(date) возвращает день недели в виде числового значения
- DAYOFYEAR(date) возвращает номер дня в году
- MONTH(date) возвращает месяц даты
- YEAR(date) возвращает год из даты
- QUARTER(date) возвращает номер квартала года
- WEEK(date ) возвращает номер недели года. Необязательный параметр позволяет задать стартовый день недели. Если этот параметр равен 1, то первым днем считается понедельник, иначе воскресенье
- LAST_DAY(date) возвращает последний день месяца в виде даты
- DAYNAME(date) возвращает название дня недели
- MONTHNAME(date) возвращает название текущего месяца
- HOUR(time) возвращает час времени
- MINUTE(time) возвращает минуту времени
- SECOND(time) возвращает секунду времени
Примеры функций:
Функция EXTRACT
Функция EXTRACT извлекает из даты и времени какой-то определенный компонент. Ее формальный синтаксис:
EXTRACT(unit FROM datetime)
Значение datetime представляет исходную дату и (или) время, а значение unit указывает, какой компонент даты или времени будет извлекаться. Параметр unit может представлять одно из следующих значений:
- SECOND (секунды)
- MINUTE (минуты)
- HOUR (час)
- DAY (день)
- MONTH (месяц)
- YEAR (год)
- MINUTE_SECOND (минуты и секунды)
- HOUR_MINUTE (часы и минуты)
- DAY_HOUR (день и часы)
- YEAR_MONTH (год и месяц)
- HOUR_SECOND (часы, минуты и секунды)
- DAY_MINUTE (день, часы и минуты)
- DAY_SECOND (день, чаы, минуты и секунды)
Примеры вызова функции:
Функции для манипуляции с датами
Ряд функций позволяют производить операции сложения и вычитания с датами и временем:
- DATE_ADD(date, INTERVAL expression unit) возвращает объект DATE или DATETIME, который является результатом сложения даты date с определенным временным интервалом. Интервал задается с помощью выражения INTERVAL expression unit, где INTERVAL предоставляет ключевое слово, expression — количество добавляемых к дате единиц, а unit — тип единиц (часы, дни и т.д.) Параметр unit может иметь те же значения, что и в функции EXTRACT, то есть DAY, HOUR и т.д.
- DATE_SUB(date, INTERVAL expression unit) возвращает объект DATE или DATETIME, который является результатом вычитания из даты date определенного временного интервала
- DATEDIFF(date1, date2) возвращает разницу в днях между датами date1 и date2
- TO_DAYS(date) возвращает количество дней с 0-го года
- TIME_TO_SEC(time) возвращает количество секунд, прошедших с момента полуночи
Примеры применения:
Форматирование дат и времени
- DATE_FORMAT(date, format) возвращает объект DATE или DATETIME, отформатированный с помощью шаблона format
- TIME_FORMAT(date, format) возвращает объект TIME или DATETIME, отформатированный с помощью шаблона format
Обе функции в качестве второго параметра принимают строку форматирования или шаблон, который показывает, как оформатировать значение. Этот шаблон может принимать следующие значения:
- %m: месяц в числовом формате 01..12
- %с: месяц в числовом формате 1..12
- %M: название месяца (January…December)
- %b: аббревиатура месяца (Jan…Dec)
- %d: день месяца в числовом формате 00..31
- %e: день месяца в числовом формате 0..31
- %D: номер дня месяца с суффиксом (1st, 2nd, 3rd…)
- %y: год в виде двух чисел
- %Y: год в виде четырех чисел
- %W: название дня недели (Sunday…Saturday)
- %a: аббревиатура дня недели (Sun…Sat)
- %H: час в формате 00..23
- %k: час в формате 0..23
- %h: час в формате 01..12
- %l: час в формате 1..12
- %i: минуты в формате 00..59
- %r: время в 12-ти часовом формате (hh:mm:ss AM или PM)
- %T: время в 24-ти часовом формате (hh:mm:ss)
- %S: секунды в формате 00..59
- %p: AM или PM
Примеры применения:
В качестве примера использования функций найдем заказы, которые были сделаны 5 дней назад:
Как сравнить две таблицы в Excel с помощью функции СЧЁТЕСЛИ и правил
Все вышеперечисленные способы хороши для упорядоченных таблиц, а вот когда данные, не упорядоченные необходимы иные способы один из которых мы сейчас и рассмотрим. Представим, к примеру, у нас есть 2 таблицы, значения в которых немного отличаются и нам необходимо сравнить эти таблицы для определения значения, которое отличается. Выделяем значение в диапазоне первой таблицы и на вкладке «Главная», пункт меню «Условное форматирование» и в списке жмем пункт «Создать правило…», выбираем правило «Использовать формулу для определения форматируемых ячеек», вписываем формулу =СЧЁТЕСЛИ($C$1:$C$7;C1)=0 и выбираем формат условного форматирования.
Формула проверяет значение из определенной ячейки C1 и сравнивает ее с указанным диапазоном $C$1:$C$7 из второго столбика. Копируем правило на весь диапазон, в котором мы сравниваем таблицы и получаем выделенные цветом ячейки значения, которых не повторяется.
Как отличить обычные даты Excel от «текстовых дат»
Импортированные данные (или данные, введенные неправильно) могут выглядеть как обычные даты Excel, но они не ведут себя так, как выглядят. Microsoft Excel обрабатывает такие записи как текст. Поэтому вы не сможете правильно отсортировать таблицу в хронологическом порядке, а также использовать эти «неправильные даты» в формулах, сводных таблицах, диаграммах или любом другом инструменте Excel, который работает с временем.
Сначала давайте изучим несколько признаков, которые могут помочь определить, записана в ячейке датировка либо текст.
Даты |
Текстовые значения |
· Выровнено по правому краю. · Указан формат даты в поле «Числовой формат» на вкладке «Главная » — «Число» . |
· По левому краю по умолчанию. · Общий формат отображается в поле «Число» на вкладке «Главная» — «Число». ·В строке формул может быть виден апостроф перед содержимым ячейки. |
Их можно легко распознать, немного расширив столбцы, выделив один из них, выбрав команду Формат ► Ячейки ► Выравнивание (Format ► Cells ► Alignment) и для параметра По горизонтали (Horizontal) выбрав значение Общий (General) (это вид ячеек по умолчанию). Щелкните кнопку ОК и внимательно просмотрите на таблицу. Если какие-либо значения не выровнены по правому краю, значит Excel не считает их датами.
Выделение различий между таблицами цветом.
Чтобы закрасить ячейки с разными значениями на двух листах выбранным вами цветом, используйте функцию условного форматирования Excel:
- На листе, где вы хотите выделить различия, выберите все используемые ячейки. Для этого щелкните верхнюю левую ячейку используемого диапазона, обычно A1, и нажмите , чтобы расширить выделение до последней использованной ячейки.
- На вкладке Главная кликните Условное форматирование > Новое правило и создайте его со следующей формулой:
Где Лист2 — это имя другого листа, который вы сравниваете с текущим.
В результате ячейки с разными значениями будут выделены выбранным вами цветом:
Если вы не очень хорошо знакомы с условным форматированием, вы можете найти подробные инструкции по созданию правила в следующем руководстве: Условное форматирование Excel в зависимости от значения ячейки.
Сравнить даты в Excel
Сравнение двух дат в Excel может отличаться от одного сценария к другому, иногда нам может потребоваться сравнить, равна ли одна дата другой или нет, иногда нам может потребоваться проверить, что одна дата выше определенной даты или ниже определенной даты, и часто нам может потребоваться прибыть на основе тестирования всех упомянутых критериев, например, это варьируется от сценария к сценарию. Мы увидим каждого из них на практических примерах.
# 1 — Сравните, равны ли две даты или нет
Пример # 1
Сравнить дату, равную или нет, просто; у нас будет две даты, и нам нужно проверить, совпадает ли эта дата ячейки с другой или нет. Посмотрите на данные ниже, чтобы сравнить даты в Excel.
Теперь в ячейке C2 примените формулу как «= A2 = B2».
Нажмите Enter, чтобы получить результат.
У нас одинаковая дата в обоих столбцах, поэтому в результате мы получили ИСТИНА.
Перетащите формулу в следующие столбцы, чтобы получить результат.
Итак, везде, где данные совпадают, мы получаем результат как ИСТИНА, а везде, где данные не совпадают, мы получаем результат как ЛОЖЬ.
Один интересный факт об этом примере — строка номер 7; в этой строке первая дата записана как «29-Oct-2019», а вторая дата записана как 43767. Несмотря на то, что обе даты различаются, результат все равно ИСТИНА, т. е. оба одинаковы.
Причина, по которой я сказал, что дата и время являются чувствительными вещами в Excel вначале из-за такого сценария в Excel. Когда мы применим формат даты «ДД-МММ-ГГГГ» к серийному номеру 43767, мы получим тот же результат, что и ячейка A7.
Таким образом, Excel читает их как серийные номера, а не как даты. Таким образом, мы можем сравнить две даты в excel.
Пример # 2
Теперь предположим, что вы не хотите видеть результаты по умолчанию ИСТИНА или ЛОЖЬ. Возможно, вы захотите получить другой результат, например «Оба значения верны», если обе даты совпадают, или вам нужен результат типа «Оба значения не верны». ” Итак, это делается с помощью логической функции «ЕСЛИ».
Откройте функцию ЕСЛИ в Excel в столбце «ПОИСКПОЗ».
Первый критерий формулы — это логический тест в Excel, поэтому в этом случае наш логический тест состоит в том, чтобы проверить, совпадает ли «Дата 1» с «Датой 2» или нет, поэтому примените логический тест как E2 = F2.
Следующий аргумент значение, если истина; это ничего, если применяется логический тест имеет значение ИСТИНА, то есть, если «Дата 1» равна «Дата 2», какое значение требуется? Итак, нам нужно значение «Оба верны».
Следующий аргумент значение, если ложь, так что если логический тест не правильно, тогда какое значение нужно? Нам нужны значения типа «Оба неверны».
Хорошо, мы закончили с формулой; закройте скобку и нажмите клавишу ввода, чтобы получить результат.
Перетащите формулу в другие ячейки.
Итак, результаты здесь вместо ИСТИНА или ЛОЖЬ по умолчанию.
# 2 — Сравните, если дата больше или меньше
Мы видели одну серию расчетов; теперь мы увидим, больше или меньше одна дата другой. Для этого посмотрите данные ниже в качестве примера.
Сначала мы проверим, что «Дата 1» больше, чем «Дата 2», как показано ниже.
Итак, у нас есть результаты.
Точно так же нам просто нужно изменить логический оператор в excel с больше символа на меньше символа, чтобы сделать обратное вычисление.
Таким образом, мы можем сравнивать даты в Excel. Тем не менее, вам нужно помнить об этом.
Функция РАЗНДАТ — разность двух дат в днях, месяцах и годах
Предположим, вы работаете в пенсионном фонде и хотите определить трудовой стаж в количестве лет, дней, месяцев и так далее. Это можно сделать с помощью функции РАЗНДАТ.
Ее синтаксис элементарный.
РАЗНДАТ(начальная_дата; конечная_дата; способ_измерения)
Единственный из этих аргументов, который действительно может вызвать вопросы у неподготовленного читателя – это способ измерения. С его помощью мы задаем, в каких единицах будет измеряться разница между датами. Это может быть количество месяцев, лет или количество месяцев без учета лет. Еще один вариант – это количество дней без учета месяцев и лет.
Важно учесть, что в некоторых случаях эта функция может вернуть неправильное значение. Это бывает, когда день первой даты больше, чем день второй
Такая ситуация может быть, например, когда нужно рассчитать количество дней между двумя датами, первая из которых происходила в конце месяца, а другая – в начале следующего.
Разница 2 дат в днях
Чтобы определить разницу между двумя датами в днях, необходимо воспользоваться такой формулой.
=РАЗНДАТ(A2;B2;”d”)
Но к сожалению, эта формула не работает настолько идеально, как хотелось бы. Давайте приведем небольшой пример для большей наглядности.
Предположим, начальной датой у нас является 23.02.2009, а конечной – 24.02.2009.
В результате формулой будет возвращено значение 1, что равняется количеству дней, которое прошло с момента исходной даты (отсчет начинается с нуля). Именно из-за того, что отсчет в этом случае начинается с нуля, нельзя использовать эту формулу в чистом виде, например, чтобы рассчитать количество дней, которое отработал человек. Ведь очевидно, что если человек начал работать 23 февраля, а 24 числа прекратил работать, то он по факту отработал 2 дня, а не один.
Та же самая история с количеством месяцев. Если начальной датой служит 28 февраля, а конечная – первое марта, и оба числа относятся к 2008 году, то результат будет 2 дня. И это правильно.
Чтобы решить все проблемы с отображением месяцев в Excel, существует специальная формула ЦЕЛОЕ(), которая округляет число в меньшую сторону. Поскольку время является дробной частью целого дня в понимании Excel, то фактически эти часы будут отсечены. То же касается и других элементов даты, числа, месяца, которые представлены, как дробная часть.
Разница дат в полных месяцах
Чтобы определить количество полных месяцев, которое прошло с одной даты до другой, необходимо воспользоваться такой же самой формулой, которая была приведена выше, только третий аргумент должен содержать аргумент m.
То есть, формула следующая.
=РАЗНДАТ(A2;B2;”m”)
Эта формула также может давать несколько неточные данные. Поэтому всегда нужно перепроверять значения самостоятельно.
Разница в днях без учета лет
Эта формула также может использоваться для определения количества дней между двумя датами, но при этом не учитывать количество лет, которое прошло между этими двумя временными точками. Эта возможность есть, но пользоваться ею настоятельно не рекомендуется, потому что искажений в этом случае может быть еще больше.
1
Эта формула вернет правильный результат только тогда, когда в компьютере показано правильное время. Конечно, в большинстве современных операционных системах дата и время определяется автоматически, но иногда случаются сбои. Поэтому перед тем, как подсчитывать разницу в днях без учета лет, нужно убедиться, что на компьютере установлена правильная дата и время. Особенно если электронная таблица пересылалась другому человеку.
Функция ВРЕМЯ
Возвращает значение времени, составленное из отдельных частей, заданных числами.Синтаксис: =ВРЕМЯ(часы; минуты; секунды), где
- Часы – обязательный аргумент. Число либо ссылка на ячейку, содержащую числовое значение от 1 до 24.
- Минуты – обязательный аргумент. Число либо ссылка на ячейку, содержащую числовое значение от 1 до 60.
- Секунды – аналогично минутам.
Функция ВРЕМЯ не может возвращать значение от 24 и выше, т.е. если для аргумента «Часы» задать число 25, то результатом будет 1 час.
Пример использования:На изображении приведены несколько вариантов использования данной функции. Видно, если показатель секунд превышает значение 60, то его часть перекидывается на минуты. То же самое произойдет, если будет превышен показатель для минут. Если превышен показатель для аргумента, принимающего часы, то он просто будет отображать время на 24 часа меньше заданного.
Разница в днях («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)
Как поставить неизменную отметку времени автоматически формулами?
Допустим, у вас есть список продуктов в столбце A, и как только один из них будет отправлен покупателю, введите «Да» в столбец «Доставка», то есть в столбец B. Как только вы увидите там «Да» , вы хотите автоматически регистрировать в столбце C время, когда это произошло. И вам больше не нужно его менять.
Для этого попробуем использовать во второй части вложенную функцию ИЛИ с циклическими ссылками:
Где B — это столбец подтверждения доставки, а C2 — это ячейка, в которую вы вводите формулу и где будет отображаться статическая метка времени.
В приведенной выше формуле первая функция ЕСЛИ проверяет B2 на наличие слова «Да» (или любого другого текста, который вы выбрали для вставки). И если указанный текст присутствует, он выполняет вторую функцию ЕСЛИ. В противном случае возвращается null. Второй SE — это формула цикла, которая заставляет функцию TDATA () возвращать сегодняшние дату и время только в том случае, если в C2 еще ничего не было записано. А если там уже что-то есть, то ничего не изменится, сохранятся все существующие ярлыки.
Если вместо проверки определенного слова вы хотите, чтобы метка времени отображалась, когда вы вводите что-то в указанную ячейку (это может быть любое число, текст или дата), то давайте немного изменим первую функцию ЕСЛИ, чтобы проверить наличие пустого не- клетка:
Примечание. Чтобы эта формула работала, вам необходимо включить циклические вычисления на листе (вкладка Файл — Параметры — Формулы — Включить интерактивные вычисления). Кроме того, имейте в виду, что, как правило, не рекомендуется делать ссылку на ячейку самой собой, то есть делать циклические ссылки. И если вы решите использовать это решение в своих таблицах, это на ваш страх и риск.