Содержание
- Получить день
- Получить день недели
- Получить месяц
- Получить год с даты
- Извлечение даты с даты и времени
- Извлечение времени с даты и времени
- Получить возраст от дня рождения
- Получайте дни, часы и минуты между датами
- Получить финансовый квартал с даты
- Получить процент завершения года
- Получить квартал от даты
- Получить ту же дату в следующем месяце
- Получить ту же дату в следующем году
- Получить дату начала в соответствии с установленной датой
- Получить номер недели с даты
- Скачать файл
Получить день
Получить дату с номера дня.
= ДАТА(год; 1; день)
= DATE(год; 1; день)
Чтобы получить реальную дату из числа дня или «n-го числа года», вы можете использовать функцию ДАТА.
В показанном примере формула в C5:
= ДАТА(2015;1; B5)
= DATE(2015;1; B5)
Функция построения даты берется из отдельных значений года, месяца и дня. Один из его трюков - это способность выполнять сверку с целью исправления дат, когда дни и месяцы находятся вне диапазона.
Например, ДАТА возвращает 9 апреля 2016 года со следующими аргументами:
= ДАТА(2016;1;100)
= DATE(2016;1;100)
В январе нет 100-го дня, поэтому ДАТА просто продвигается на 100 дней вперед с 1 января, а цифры возвращают правильную дату.
Формула на этой странице использует эту механику. В этом случае предполагается, что в этом году 2015 год, поэтому 2015 год жестко закодирован в течение года, а 1 используется в течение месяца. Значение дня выводится из столбца B, а функция ДАТА рассчитывает дату, как объяснено выше.
Если у вас есть дата в формате Юлиан, например 10015, где используется формат «дддгг», вы можете изменить формулу следующим образом:
= ДАТА(ПРАВСИМВ(A1;2); 1; ЛЕВСИМВ(A1;3))
Здесь мы используем ПРАВСИМВ, чтобы извлечь 2 символа справа за год, и ЛЕВСИМВ, чтобы извлечь 3 символа слева в течение дня. Месяц представлен как 1, как в первом примере.
Получить день с даты.
= ДЕНЬ(дата)
= DAY(дата)
Здесь мы используем ПРАВСИМВ, чтобы извлечь 2 символа справа за год, и ЛЕВСИМВ, чтобы извлечь 3 символа слева в течение дня. Месяц представлен как 1, как в первом примере.
Функция ДЕНЬ принимает только один аргумент - дату, из которой вы хотите извлечь день. В этом примере формула:
= ДЕНЬ (B3)
= DAY (B3)
B4 содержит значение даты для 5 января 2016 года. Функция ДЕНЬ возвращает число 5, представляющее компонент дня даты.
Обратите внимание: вы можете использовать ДЕНЬ для извлечения дня из дня, введенного как текст:
= ДЕНЬ("1/5/2016")
= DAY("1/5/2016")
Получить имя дня с даты.
ТЕКСТ (B4; "дддд")
"ддд" // "сред"
"дддд" // "среда"
= ТЕКСТ (B4; "ддд")
= TEXT (B4; "ддд")
Функция ТЕКСТ преобразует значения в текст с использованием формата чисел, который вы предоставляете. Обратите внимание, что в преобразовании теряется дата, остается только текст названия дня.
Если вы не хотите использовать вспомогательную таблицу, вы также можете отобразить номер дня недели в название месяца непосредственно в функции ВЫБОР следующим образом:
= ВЫБОР (ДЕНЬНЕД(B4); «Вс»; «Пн»; «Вт»; «Ср»; «Чт»; «Пт»; «Сб»)
В этом случае введите имена дней недели, которые вы хотите вернуть (сокращенно или нет), в качестве значений в ВЫБОР после первого аргумента. ДЕНЬНЕД будет извлекать номер буднего дня, и ВЫБОР будет использовать это число для возврата n-го значения в списке. Это работает, потому что ДЕНЬНЕД возвращает число 1-7, соответствующее заданному дню недели. С настройками по умолчанию, воскресенье = 1 и суббота = 7. Смотрите ДЕНЬНЕД для получения дополнительной информации.
ВЫБОР - это больше работы по настройке, но она также более гибкая, так как позволяет привязать дату к любым требуемым значениям (т. е. Вы можете использовать значения, которые являются пользовательскими, сокращенными, не сокращенными, разными языками и т. д.).
Получить дни до даты.
= дата-СЕГОДНЯ ()
= дата-TODAY ()
В этом случае введите имена дней недели, которые вы хотите вернуть (сокращенно или нет), в качестве значений в ВЫБОР после первого аргумента. ДЕНЬНЕД будет извлекать номер буднего дня, и ВЫБОР будет использовать это число для возврата n-го значения в списке. Это работает, потому что ДЕНЬНЕД возвращает число 1-7, соответствующее заданному дню недели. С настройками по умолчанию, воскресенье = 1 и суббота = 7. Смотрите ДЕНЬНЕД для получения дополнительной информации.
ВЫБОР - это больше работы по настройке, но она также более гибкая, так как позволяет привязать дату к любым требуемым значениям (т. е. Вы можете использовать значения, которые являются пользовательскими, сокращенными, не сокращенными, разными языками и т. д.).
В примере D5 содержит эту формулу:
= B4-СЕГОДНЯ()
= B4-TODAY()
В Excel даты - это просто серийные номера. В стандартной системе дат для окон, основанной на 1900 году, где 1 января 1900 года является номером 1. Даты действительны до 9999, что является серийным номером 2 958 465. Это означает, что 1 января 2050 года серийный номер 54789.
В примере датой является 9 марта 2016 года, который является серийным номером 42 438. Так:
= B4-СЕГОДНЯ()
= B4-TODAY()
= 1 января 2050 - 27 апреля 2014 г.
= 54;789 - 42;438
= 12;351
В Excel даты - это просто серийные номера. В стандартной системе дат для окон, основанной на 1900 году, где 1 января 1900 года является номером 1. Даты действительны до 9999, что является серийным номером 2 958 465. Это означает, что 1 января 2050 года серийный номер 54789.
В примере датой является 9 марта 2016 года, который является серийным номером 42 438. Так:
= B6-C6
= "Осталось всего" & B6-C6 & "дней!"
Поскольку между 10 декабря 2014 года и 25 декабря 2014 года существует 15 дней, результатом является следующее сообщение:
Осталось всего 15 дней!
Получить дни между датами.
= Поздняя дата-Ранняя дата
Поскольку между 10 декабря 2014 года и 25 декабря 2014 года существует 15 дней, результатом является следующее сообщение:
Осталось всего 15 дней!
В примере формула в ячейке D6 просто вычитает числовое значение 1/1/1999 (36161) из числового значения 1/1/2000 (36526), чтобы получить результат 365. Шаги выглядят так:
= C5-B5
= 1/1 / 1999-1 / 1/2000
= 36161-36526
= 365
В примере формула в ячейке D6 просто вычитает числовое значение 1/1/1999 (36161) из числового значения 1/1/2000 (36526), чтобы получить результат 365. Шаги выглядят так:
= СЕГОДНЯ() – ранняя дата
Если вам необходимо вычислить количество дней между более поздней датой и сегодняшним днем, используйте:
= Поздняя дата-СЕГОДНЯ()
Обратите внимание, что СЕГОДНЯ будет пересчитываться на постоянной основе. Если вы откроете книгу позднее, значение, используемое для СЕГОДНЯ, обновится, и вы получите новый результат.
Функция ДНИ, введенная в Excel 2013, также вычисляет дни между двумя датами.
Получайте дни между датами, игнорируя годы.
= РАЗНДАТ (нач_дата; кон_дата; "гд")
= DATEDIF (нач_дата; кон_дата; "гд")
= РАЗНДАТ(B5; C5; "yd")
= DATEDIF (нач_дата; кон_дата; "гд")
Функция РАЗНДАТ может обрабатывать различные расчеты «разницы дат» для вычисления разницы между двумя датами в годах, месяцах и днях. РАЗНДАТ принимает 3 аргумента: начальную дату, конечную дату и единицу измерения, которая контролирует, какой результат будет возвращен.
В этом случае мы хотим, чтобы дни игнорировались годами, поэтому мы поставляем «yd» для единицы.
После настройки функция полностью автоматическая и возвращает результат в запрошенном модуле.
Получить первый день месяца.
= Дата-ДЕНЬ(дата) +1
= DATEDIF (нач_дата; кон_дата; "гд")
Функция РАЗНДАТ может обрабатывать различные расчеты «разницы дат» для вычисления разницы между двумя датами в годах, месяцах и днях. РАЗНДАТ принимает 3 аргумента: начальную дату, конечную дату и единицу измерения, которая контролирует, какой результат будет возвращен.
В этом случае мы хотим, чтобы дни игнорировались годами, поэтому мы поставляем «yd» для единицы.
После настройки функция полностью автоматическая и возвращает результат в запрошенном модуле.
= B5-ДЕНЬ(B5) +1
= B5-DAY(B5) +1
Функция ДЕНЬ возвращает значение дня для даты. В примере показано, что значение дня для даты в B5 (5 июня 2016 года) равно 5. Поскольку даты - это только порядковые номера в Excel, мы можем вычесть 5, а затем добавить 1, чтобы получить значение даты на 1 июня 2016 года.
Получить первый день предыдущего месяца
= КОНМЕСЯЦА(дата; -2) +1
= B5-DAY(B5) +1
Функция ДЕНЬ возвращает значение дня для даты. В примере показано, что значение дня для даты в B5 (5 июня 2016 года) равно 5. Поскольку даты - это только порядковые номера в Excel, мы можем вычесть 5, а затем добавить 1, чтобы получить значение даты на 1 июня 2016 года.
В показанном примере формула в ячейке B5:
= КОНМЕСЯЦА(B5; -2) +1
= EOMONTH(B5; -2) +1
Функция КОНМЕСЯЦА возвращает последний день месяца, основанный на заданной дате. Второй аргумент - это месяцы, в которых указывается, сколько месяцев в будущем или в прошлом нужно переместить перед возвратом последнего дня. Возвращаясь на 2 месяца, затем добавляя один день, мы можем рассчитать первый день предыдущего месяца с любой заданной даты.
В показанном примере месяцев указываются как -2, что заставляет КОНМЕСЯЦА возвращаться 4/30/2015. Затем добавляется 1 день для получения 5/1/2015.
Получить последний день месяца
= КОНМЕСЯЦА(дата; 0)
= EOMONTH(B5; -2) +1
Функция КОНМЕСЯЦА возвращает последний день месяца, основанный на заданной дате. Второй аргумент - это месяцы, в которых указывается, сколько месяцев в будущем или в прошлом нужно переместить перед возвратом последнего дня. Возвращаясь на 2 месяца, затем добавляя один день, мы можем рассчитать первый день предыдущего месяца с любой заданной даты.
В показанном примере месяцев указываются как -2, что заставляет КОНМЕСЯЦА возвращаться 4/30/2015. Затем добавляется 1 день для получения 5/1/2015.
= КОНМЕСЯЦА(B5;0)
= EOMONTH(B5;0)
Второй аргумент (месяцы) функции КОНМЕСЯЦА позволяет вам получить последний день месяца в будущем или в прошлом месяце. Когда вы используете ноль в течение месяцев, КОНМЕСЯЦА вернет последний день месяца в том же месяце.
Чтобы получить последний день предыдущего месяца, используйте:
= КОНМЕСЯЦА(дата; -1)
= EOMONTH(дата; -1)
= КОНМЕСЯЦА(дата; 1)
= EOMONTH(дата; 1)
Если вы предпочитаете создавать умные формулы, которые озадачивают других, вы также можете использовать функцию ДАТА, чтобы получить последний день месяца:
= ДАТА(ГОД (дата); МЕСЯЦ(дата) +1;0)
= DATE(YEAR (дата); MONTH(дата) +1;0)
Трюк с этой формулой дает ноль в течение дня. Когда вы указываете нуль в качестве аргумента дня для ДАТА, функция даты откатывается один день в предыдущий месяц до последнего дня этого месяца. Таким образом, добавляя 1 к месяцу и используя ноль в день, ДАТА возвращается к последнему дню «оригинального» месяца.
Получить последний рабочий день в месяц
=РАБДЕНЬ (КОНМЕСЯЦА(дата) + 1; -1)
= DATE(YEAR (дата); MONTH(дата) +1;0)
Трюк с этой формулой дает ноль в течение дня. Когда вы указываете нуль в качестве аргумента дня для ДАТА, функция даты откатывается один день в предыдущий месяц до последнего дня этого месяца. Таким образом, добавляя 1 к месяцу и используя ноль в день, ДАТА возвращается к последнему дню «оригинального» месяца.
В примере формула в C5:
= РАБДЕНЬ (КОНМЕСЯЦА (B5;0) + 1; -1)
= WORKDAY (EOMONTH (B5;0) + 1; -1)
Работая изнутри, функция КОНМЕСЯЦА получает последний день месяца любой даты. К этому результату мы добавляем 1, что приводит к первому дню следующего месяца.
Эта дата переходит в функцию РАБДЕНЬ как «дата начала», а также -1 для «дней». Функция РАБДЕНЬ автоматически отступает на 1 день, принимая во внимание любые выходные. В результате будет последний рабочий день месяца.
Чтобы получить последний рабочий день месяца, принимая во внимание праздники, просто добавьте диапазон, содержащий даты отпуска, в формулу, подобную этой:
= РАБДЕНЬ(КОНМЕСЯЦА(B5;0) + 1; -1; праздничные дни)
= WORKDAY (EOMONTH(B5;0) + 1; -1; праздничные дни)
Получить n-ый день года
= Дата-ДАТА (ГОД (дата); 1;0)
= WORKDAY (EOMONTH(B5;0) + 1; -1; праздничные дни)
Например, с датой «1 июня 2016 года» в ячейке B4 следующая формула вернет 153:
= B4-ДАТА(ГОД (B4); 1;0)
= B4-DATE(YEAR (B4); 1;0)
То есть 1 июня 2016 года - 153-й день этого года.
Эта формула использует тот факт, что даты - это просто порядковые номера в Excel. Он определяет последний день предыдущего года и вычитает его, начиная с исходной даты B4. Результат - n-й день года.
Обратите внимание, что аргумент день в ДАТА предоставляется как ноль. Хорошей особенностью функции ДАТА является то, что она может обрабатывать значения ДЕНЬ, которые находятся «вне диапазона», и соответствующим образом корректировать результат. Когда мы даем ДАТА год, 1 месяц и 0 дней, функция ДАТА возвращает последний день предыдущего года.
Чтобы настроить формулу для возврата n-го дня года для текущей даты, просто используйте функцию СЕГОДНЯ для даты:
= СЕГОДНЯ () - ДАТА (ГОД (СЕГОДНЯ ()); 1;0)
= TODAY () - DATE (YEAR (TODAY ()); 1;0)
Получить день недели
Получить последний день недели
= Дата-ОСТАТ(дата-день; 7)
= Дата-MOD(дата-день; 7)
Если вы хотите найти самую последнюю среду, субботу или понедельник, указав определенную дату начала, вы можете использовать формулу, которая использует функцию ОСТАТ.
Формулы, в которых используется понятие «день недели», основаны на идее, что каждый день недели имеет определенное число. По умолчанию Excel назначает 1 на воскресенье и 7 на субботу.
= Дата-ОСТАТ(дата-день; 7)
= Дата-MOD(дата-день; 7)
= B6-ОСТАТ(B6-7;7)
= Дата-MOD(дата-день; 7)
Число 7 (числовой аргумент в функции ОСТАТ) представляет день недели (день), который вы хотите. Только помните, что 1 — это воскресенье, а 7 — суббота. Так принято в США.
Чтобы решить эту формулу, Excel сначала вычитает день (7 в данном случае) из даты, а затем передает результат в функцию ОСТАТ в качестве числа. ОСТАТ возвращает остаток от деления этого числа на 7, которое затем вычитается из даты.
= B6-ОСТАТ(B6-7;7)
= B6-MOD(B6-7;7)
= B6-ОСТАТ(42013;7)
= B6-MOD(42013;7)
= B6-6
= 42014
= 1/10 / 2015
Число 7 (числовой аргумент в функции ОСТАТ) представляет день недели (день), который вы хотите. Только помните, что 1 — это воскресенье, а 7 — суббота. Так принято в США.
Чтобы решить эту формулу, Excel сначала вычитает день (7 в данном случае) из даты, а затем передает результат в функцию ОСТАТ в качестве числа. ОСТАТ возвращает остаток от деления этого числа на 7, которое затем вычитается из даты.
= СЕГОДНЯ () - ОСТАТ(СЕГОДНЯ () - день; 7)
Получить следующий день недели
= Дата + 7-ДЕНЬНЕД(дата + 7-день)
= Дата + 7-WEEKDAY(дата + 7-день)
Если вы хотите найти следующий конкретный день недели (т.е. следующую среду, пятницу или понедельник) с определенной датой начала, вы можете использовать общую формулу, которая использует функцию ДЕНЬНЕД с чем-то, называемым «день недели» (день).
С помощью этой формулы вы можете делать такие вещи:
- Получить следующую пятницу
- Получить следующую субботу
- Получить следующий вторник
Формулы, в которых используется понятие «день недели», основаны на идее, что каждый день недели имеет определенное число. По умолчанию Excel назначает 1 на воскресенье и 7 на субботу. Таким образом, функция ДЕНЬНЕД при заданной дате возвращает число от 1 до 7. В двух словах эта формула сначала переводит дату вперед на 7 дней, а затем возвращается к правильной дате, вычитая результат вычисления, который использует функцию ДЕНЬНЕД.
В примере формула B6 является датой 1/16/2015, а формула в C6:
= B6 + 7-ДЕНЬНЕД(B6 + 7-2)
= Дата + 7-WEEKDAY(дата + 7-день)
Число 2 представляет день недели (день), который вы хотите, в данном случае, понедельник.
Чтобы решить эту формулу, Excel сначала добавляет 7 к начальной дате в C6, а затем уменьшает B6 + 7-2 до 42025 (порядковый номер в системе даты Excel, который представляет 1/21/2015). Затем Excel вычисляет день недели для этой даты (4) и вычитает, что из исходной даты начала + 7 (42027 = 1/23/2015), чтобы получить окончательное значение даты 42013 = 1/9/2015
= B6 + 7-ДЕНЬНЕД(B6 + 7-2)
= B6 + 7-WEEKDAY(B6 + 7-2)
= 42027-ДЕНЬНЕД(42025)
= 42027-WEEKDAY(42025)
= 42027-4
= 42023
= 1/9/2015
Если вы хотите получить следующий день недели с текущей даты, вы можете использовать функцию СЕГОДНЯ, например:
= СЕГОДНЯ () + 7-НЕДЕЛЯ (СЕГОДНЯ () + 7-день)
= TODAY () + 7-НЕДЕЛЯ (TODAY () + 7-день)
Примечание. Если указанная дата совпадает с днем недели, которую вы хотите восстановить, будет возвращена одна и та же дата.
Получить n-й день недели в месяце
Чтобы получить n-й день недели в месяце (т. е. первый вторник, третий вторник, четвертый четверг и т. д.), вы можете использовать формулу, основанную на функциях ДЕНЬ и НЕДЕЛЯ.
= Дата-ДЕНЬ(дата) + 1 + n * 7-ДЕНЬНЕД(дата-ДЕНЬ (дата) + 8-день)
= Дата-DAY(дата) + 1 + n * 7-WEEKDAY(дата-DAY (дата) + 8-день)
Чтобы получить n-й день недели в месяце (т. е. первый вторник, третий вторник, четвертый четверг и т. д.), вы можете использовать формулу, основанную на функциях ДЕНЬ и НЕДЕЛЯ.
= B5-ДЕНЬ(B5) + 1 + D5 * 7-ДЕНЬНЕД(B5-ДЕНЬ(B5) + 8-C5)
= Дата-DAY(дата) + 1 + n * 7-WEEKDAY(дата-DAY (дата) + 8-день)
Во-первых, эта формула определяет «дату начала». «Первое число месяца» рассчитывается с помощью функции ДЕНЬ:
= B5-ДЕНЬ(B5) +1
= B5-DAY(B5) +1
Затем n * 7 дней до первого числа месяца, чтобы получить дату начала n недель с первого числа месяца. В общей форме формулы n представляет «n-ое».
Следующий шаг - рассчитать корректировку, необходимую для достижения конечного результата. Корректировка рассчитывается с использованием ДЕНЬНЕД и ДЕНЬ:
ДЕНЬНЕД(B5-ДЕНЬ(B5) + 8-C5)
В ДЕНЬНЕД снова вычисляется первое число месяца, затем добавляются 8 дней и вычитается значение для день (день недели).
День недели сокращенно «день» в общей форме формулы. Это число от 1 (воскресенье) до 7 (суббота), которое может быть изменено по мере необходимости.
Наконец, вычисленная корректировка вычитается из исходной даты начала
Получить последний день недели за месяц
= КОНМЕСЯЦА(дата; 0) + 1-ДЕНЬНЕД (КОНМЕСЯЦА(дата; 0) + 1-день)
= EOMONTH(дата; 0) + 1-WEEKDAY (EOMONTH(дата; 0) + 1-день)
Чтобы получить последний день недели за месяц (то есть в прошлую субботу, последнюю пятницу, последний понедельник и т. Д.), Вы можете использовать формулу, основанную на функциях КОНМЕСЯЦА и ДЕНЬНЕД.
В показанном примере формула в D5:
= КОНМЕСЯЦА(B5;0) + 1-ДЕНЬНЕД(КОНМЕСЯЦА(B5;0) + 1-C5)
= EOMONTH(B5;0) + 1-WEEKDAY(EOMONTH(B5;0) + 1-C5)
Во-первых, эта формула определяет первый день следующего месяца * после * данной даты. Он делает это, используя КОНМЕСЯЦА, чтобы получить последний день месяца, а затем добавить один день:
= КОНМЕСЯЦА(B5;0) +1
= EOMONTH(B5;0) +1
Затем формула вычисляет количество дней, требуемых для «возврата назад» к последнему запрошенному буднему дню в предшествующем месяце (т. е. Месяце исходной даты):
ДЕНЬНЕД(КОНМЕСЯЦА(B5;0) + 1-C5)
WEEKDAY(EOMONTH(B5;0) + 1-C5)
В ДЕНЬНЕД КОНМЕСЯЦА снова используется для получения первого дня следующего месяца. С этой даты вычитается значение для дня недели, и результат вводится в ДЕНЬНЕД, который возвращает количество дней для отката.
И наконец, дни отката вычитаются из первого числа следующего месяца, что дает окончательный результат.
В общем виде формулы вверху страницы день недели сокращенно «день». Это число от 1 (воскресенье) до 7 (суббота), которое можно изменить, чтобы получить другой день недели. Например, чтобы получить последний четверг месяца, установите значение день равным 5.
Получить первый понедельник до любой даты
= Дата-ДЕНЬНЕД (дата-2)
WEEKDAY(EOMONTH(B5;0) + 1-C5)
В ДЕНЬНЕД КОНМЕСЯЦА снова используется для получения первого дня следующего месяца. С этой даты вычитается значение для дня недели, и результат вводится в ДЕНЬНЕД, который возвращает количество дней для отката.
И наконец, дни отката вычитаются из первого числа следующего месяца, что дает окончательный результат.
В общем виде формулы вверху страницы день недели сокращенно «день». Это число от 1 (воскресенье) до 7 (суббота), которое можно изменить, чтобы получить другой день недели. Например, чтобы получить последний четверг месяца, установите значение день равным 5.
Понедельник 7
Вторник 1
Среда 2
Четверг 3
Пятница 4
Суббота 5
Воскресенье 6
Чтобы рассчитать эту корректировку динамически для любой даты, вы можете использовать тот факт, что понедельник - это второй день недели в схеме по умолчанию Excel. Просто вычислите день недели даты на 2 дня раньше и используйте этот результат для значения корректировки. Итак, при допущении даты 4 июня 2015 года (четверг) в ячейке A1 формула решается следующим образом:
= A1-ДЕНЬНЕД (A1-2)
= A1-WEEKDAY (A1-2)
= 4;2015 июня - ДЕНЬНЕД (4 июня015-2)
= 4;2015 июня - ДЕНЬНЕД(2 июня 2015 г.)
= 4 июня015-3
= Июнь 1;2015
Если вы считаете, что настройка дня недели запутанна и не интуитивна, вы используете альтернативную формулу, которая использует функцию ВЫБОР с жестко заданными значениями регулировки:
= A1-ВЫБОР(ДЕНЬНЕД(A1;2); 7;1;2;3;4;5;6)
= A1-CHOOSE(WEEKDAY(A1;2); 7;1;2;3;4;5;6)
В этой версии используется ДЕНЬНЕД, чтобы получить индекс для дня недели (с понедельника как 1), а затем ВЫБОР возвращает правильное количество дней для возврата.
Если вам нужно найти понедельник до сегодняшнего дня, просто используйте функцию СЕГОДНЯ на дату:
= СЕГОДНЯ () - ДЕНЬНЕД(СЕГОДНЯ () - 2)
= TODAY () - WEEKDAY(TODAY () - 2)
Получить месяц
Получить месяц с даты
= МЕСЯЦ (дата)
= MONTH (дата)
Функция МЕСЯЦ принимает только один аргумент - дату, из которой вы хотите извлечь месяц. В этом примере формула:
= МЕСЯЦ (B3)
= MONTH (B3)
Нам нужно сложить эти цифры, но мы не хотим, чтобы удвоился счет. Таким образом, мы должны убедиться, что любое значение больше нуля. Чтобы сделать это, мы вернем все значения, которые больше 0, в Истина или Ложь, а затем с помощью двойного отрицания (--) переведем массив в формат 1 и 0.
И, наконец, СУММПРОИЗВ суммирует полученные числа.
= МЕСЯЦ("1/5/2016")
= MONTH("1/5/2016")
Однако использование текста для дат может приводить к непредсказуемым результатам на компьютерах с использованием разных региональных настроек даты. В общем, лучше (и более гибко) указать адрес ячейки, которая уже содержит действительную дату.
Получить название месяца с даты
= ТЕКСТ (дата; "мммм")
= MONTH("1/5/2016")
Если вам необходимо получить название месяца (например, январь, февраль, март и т. д.) с даты, у вас есть несколько вариантов в зависимости от ваших потребностей.
Если вы хотите отображать название месяца, вам не нужна формула - вы можете использовать формат персонализированного номера. Выберите дату и перейдите к Форматирование ячеек (Ctrl + 1 или Cmd +1), затем выберите Custom и введите один из этих настраиваемых форматов:
"Ммм" // "Янв"
"Мммм" // "Январь"
Если вам необходимо получить название месяца (например, январь, февраль, март и т. д.) с даты, у вас есть несколько вариантов в зависимости от ваших потребностей.
Если вы хотите отображать название месяца, вам не нужна формула - вы можете использовать формат персонализированного номера. Выберите дату и перейдите к Форматирование ячеек (Ctrl + 1 или Cmd +1), затем выберите Custom и введите один из этих настраиваемых форматов:
= ТЕКСТ (B4; "мммм")
= TEXT (B4; "мммм")
Функция ТЕКСТ преобразует значения в текст с использованием формата чисел, который вы предоставляете. Обратите внимание, что дата теряется при преобразовании: остается только текст для названия месяца.
Если вы хотите максимальной гибкости, вы можете «сопоставить» название месяца с именем месяца непосредственно в функции ВЫБОР следующим образом:
= ВЫБОР (МЕСЯЦ (B4); «Янв»; «Фев»; «Мар»; «Апр»; «Май»; «Июн»; «Июл»; «Авг»; «Сен»; «Окт»; «Ноя» ";" Дек")
Введите названия месяца, которые хотите вернуть (сокращенно или нет), в качестве значений в ВЫБОР после первого аргумента, который вводится как МЕСЯЦ (дата). МЕСЯЦ выведет номер месяца, и ВЫБОР будет использовать это число для возврата n-го значения в списке. Это работает, потому что МЕСЯЦ возвращает число 1-12, соответствующее имени месяца.
ВЫБОР - это больше работы по настройке, но она также более гибкая, так как позволяет сопоставлять дату с любыми требуемыми значениями (т. е. Вы можете использовать значения, которые являются обычаями, аббревиатурами, аббревиатурами на другом языке и т. д. ).
Получать месяцы между датами
= РАЗНДАТ (нач_дата; кон_дата; "м")
= DATEDIF (нач_дата; кон_дата; "м")
Введите названия месяца, которые хотите вернуть (сокращенно или нет), в качестве значений в ВЫБОР после первого аргумента, который вводится как МЕСЯЦ (дата). МЕСЯЦ выведет номер месяца, и ВЫБОР будет использовать это число для возврата n-го значения в списке. Это работает, потому что МЕСЯЦ возвращает число 1-12, соответствующее имени месяца.
ВЫБОР - это больше работы по настройке, но она также более гибкая, так как позволяет сопоставлять дату с любыми требуемыми значениями (т. е. Вы можете использовать значения, которые являются обычаями, аббревиатурами, аббревиатурами на другом языке и т. д. ).
= РАЗНДАТ(B5; C5; "м")
= DATEDIF(B5; C5; "м")
Обратите внимание, что РАЗНДАТ автоматически округляется вниз.
Функция РАЗНДАТ - это функция «совместимости», которая приходит из Лотос 1-2-3. По неизвестным причинам это документировано в Excel 2000, но вы можете использовать его в своих формулах во всех версиях Excel с того времени.
РАЗНДАТ принимает 3 аргумента: дата начала, дата окончания и единица измерения. В этом случае мы хотим месяцы, поэтому мы поставляем «м» для единицы.
РАЗНДАТ автоматически вычисляет и возвращает число в течение месяцев, округленное вниз.
РАЗНДАТ округляется по умолчанию. Если вы хотите рассчитать месяцы до ближайшего целого месяца, вы можете сделать простую корректировку формулы:
= РАЗНДАТ(нач_дата; кон_дата + 15; "м")
= DATEDIF(нач_дата; кон_дата + 15; "м")
Получить год с даты
= ГОД(дата)
= DATEDIF(нач_дата; кон_дата + 15; "м")
Если вам необходимо извлечь год из даты, вы можете использовать функцию ГОД. В общей форме приведенной выше формулы дата должна быть в форме, которую Excel распознает как действительную дату.
Функция ГОД принимает только один аргумент - дату, из которой вы хотите извлечь год. В этом примере формула:
= ГОД(B3)
= YEAR(B3)
B4 содержит значение даты для 5 января 2016 года. Функция ГОД возвращает число 2016, представляющее год даты.
Обратите внимание, что вы можете использовать ГОД для извлечения года из дня, введенного как текст:
= ГОД("1/5/2016")
= YEAR("1/5/2016")
Извлечение даты с даты и времени
= ЦЕЛОЕ(дата)
= YEAR("1/5/2016")
Excel обрабатывает даты и время, используя схему, в которой даты - это серийные номера, а время - дробные значения. Например, 1 июня 2000 г. 12:00 PM представлено в Excel как число 36678,5, где 36678 - это дата, а 0,5 - время.
Если у вас есть даты со значениями времени, и вы хотите извлечь только часть даты, вы можете использовать формулу, которая использует функцию ЦЕЛОЕ. Итак, если A1 содержит дату и время, 1 июня 2000 г. 12:00, формула, приведенная ниже, возвращает только часть даты (36678):
= ЦЕЛОЕ(A1)
= INT(A1)
Временная часть значения (дробная часть) отбрасывается. Вы также можете использовать функцию ОТБР с тем же результатом:
= ОТБР (A1)
= TRUNC (A1)
Заметки:
1. При использовании любого из приведенных выше методов убедитесь, что вы используете формат даты для результата, который не включает время. В противном случае вы увидите время, отображаемое как 12:00 AM.
2. Для дат и времени (которые должны быть положительными в Excel) нет разницы в использовании ЦЕЛОЕ и ОТБР для извлечения целого числа. Но ЦЕЛОЕ фактически округляет числа до ближайшего целого, что делает разницу, когда значения отрицательные.
Извлечение времени с даты и времени
= ОСТАТ(дата; 1)
= MOD(дата; 1)
Если у вас есть даты со значениями времени, и вы хотите извлечь только часть времени (дробную часть), вы можете использовать формулу, которая использует функцию ОСТАТ. Если предположить, что A1 содержит дату и время 1 июня 2000 г. 12:00, формула, приведенная ниже, вернет только часть времени (0,5):
= ОСТАТ(A1;1)
= MOD(A1;1)
Функция ОСТАТ возвращает остаток от деления. Первый аргумент - это число, а второй - делитель. Вот несколько примеров:
= ОСТАТ(5;2) // возвращает 1
= MOD(5;2) // возвращает 1
= ОСТАТ(7;5) // возвращает 2
= MOD(7;5) // возвращает 2
Функция ОСТАТ возвращает остаток от деления. Первый аргумент - это число, а второй - делитель. Вот несколько примеров:
= ОСТАТ(3.125;1) // возвращает 0.125
Короче говоря, = ОСТАТ(число, 1) возвращает только дробную часть числа, отбрасывая целую часть, поэтому это удобный способ извлечь время из даты и времени.
Примечание. Если вы используете эту формулу, чтобы отделить время от даты и времени, вам необходимо настроить формат числа в подходящий формат времени.
Получить возраст от дня рождения
= ЦЕЛОЕ(ДОЛЯГОДА (дата рождения; СЕГОДНЯ ()))
Короче говоря, = ОСТАТ(число, 1) возвращает только дробную часть числа, отбрасывая целую часть, поэтому это удобный способ извлечь время из даты и времени.
Примечание. Если вы используете эту формулу, чтобы отделить время от даты и времени, вам необходимо настроить формат числа в подходящий формат времени.
= ЦЕЛОЕ(ДОЛЯГОДА (дата рождения; СЕГОДНЯ ()))
ДОЛЯГОДА вычисляет десятичное число, представляющее долю года между двумя датами. Чтобы определить долю года в десятичном значении, Excel использует целые дни между двумя датами. Это просто в Excel, потому что все даты - это просто серийные номера.
Таким образом, в этом случае дата рождения предоставляется в качестве даты начала из ячейки D4, а сегодняшняя дата предоставляется в качестве конечной даты, с любезного разрешения функции СЕГОДНЯ.
Результатом ДОЛЯГОДА для Майкла Чанга, здесь в феврале 2016 года, является что-то вроде этого:
14.7333333333333
Затем функция ЦЕЛОЕ берет на себя и округляет это число до целочисленного значения, которое является числом 14. Хотя Майклу почти 15 лет, ему все еще только 14 по годам, так что это правильный результат.
Если вы хотите рассчитать возраст человека на определенную дату, просто замените функцию СЕГОДНЯ на эту дату или ссылку на ячейку на эту дату.
Чтобы проверить день рождения и вернуть «Несовершеннолетний» или «Взрослый», вы можете обернуть формулу возраста в функции ЕСЛИ следующим образом:
= ЕСЛИ(ЦЕЛОЕ(ДОЛЯГОДА(A1; СЕГОДНЯ())) <18; «Несовершеннолетний»; «Взрослый»)
Вы можете заменить 18 любым возрастом, имеющим смысл для вашей ситуации.
Чтобы рассчитать возраст на определенную дату, учитывая дату рождения, вы можете использовать функцию ДАТА вместо функции СЕГОДНЯ следующим образом:
= ЦЕЛОЕ(ДОЛЯГОДА(A1; ДАТА (2016;1;1)))
= INT(YEARFRAC(A1; DATE (2016;1;1)))
Получайте дни, часы и минуты между датами
= ЦЕЛОЕ(конец-начало) & "дни" & ТЕКСТ(конец-начало; "ч" "часы" "м" "мин-ы" "")
Чтобы вычислить и отобразить дни, часы и минуты между двумя датами, вы можете использовать функцию ТЕКСТ с небольшой помощью функции ЦЕЛОЕ.
В показанном примере формула в D5:
= ЦЕЛОЕ(C5-B5) &"дни"&ТЕКСТ(C5-B5; "ч" "часы" "м" "мин-ы" "")
Большая часть работы в этой формуле выполняется функцией ТЕКСТ, которая применяет формат часового номера в часах и минутах к значению, созданному путем вычитания даты начала с конечной даты.
ТЕКСТ (C5-B5; "ч" "часы" "м" "мин-ы" "")
Это пример вставки текста в пользовательский формат числа, и этот текст должен быть окружен дополнительной парой двойных кавычек.
Значение для дней вычисляется с помощью функции ЦЕЛОЕ, которая просто удаляет целую часть конечной даты минус дата начала:
ЦЕЛОЕ(C5-B5)
Хотя вы можете использовать «д» в настраиваемом числовом формате в течение нескольких дней, значение «перевернется» обратно к нулю, когда число дней больше 31.
Чтобы включить секунды, вы можете расширить формат пользовательских чисел следующим образом:
= ЦЕЛОЕ(C5-B5) & "дни" & ТЕКСТ(C5-B5; "ч" "часы" "м" "мин-ы" "с" "сек-ы" ""))
Получить финансовый квартал с даты
= ВЫБОР(МЕСЯЦ (дата); 1;1;1;2;2;2;3;3;3;4;4;4)
= CHOOSE(MONTH (дата); 1;1;1;2;2;2;3;3;3;4;4;4)
Примечание: если вам просто нужно вычислить «нормальный» квартал на основе четвертичной системы, которая начинается в январе, вы можете использовать эту более простую формулу.
В показанном примере формула в ячейке D5:
= ВЫБОР(МЕСЯЦ (B5); 4;4;4;1;1;1;2;2;2;3;3;3)
= CHOOSE(MONTH (дата); 1;1;1;2;2;2;3;3;3;4;4;4)
Эта формула возвращает число 1-4, которое соответствует четвертичной системе, которая начинается в апреле и заканчивается в марте.
Функция выбора использует первый аргумент для «выбора» оставшихся элементов. Например, в схеме, где 1 = маленький, 2 = средний и 3 = большой, эта формула «отобразит» число 2 на «среднее».
= ВЫБОР (2; "маленький"; "средний"; "большой")
= CHOOSE (2; "маленький"; "средний"; "большой")
= ВЫБОР(МЕСЯЦ (B5); 1;1;1;2;2;2;3;3;3;4;4;4) // Начало январь
= ВЫБОР(МЕСЯЦ (B5); 4;4;4;1;1;1;2;2;2;3;3;3) // Начало апрель
= ВЫБОР (МЕСЯЦ (B5); 3;3;3;4;4;4;1;1;1;2;2;2) // Начало июль
Если вы хотите, чтобы номер квартала включал «К» со значением года, вы можете объединить его:
= "К" & ВЫБОР(МЕСЯЦ (дата); 1;1;1;2;2;2;3;3;3;4;4;4) & "-" & ГОД(дата)
= "К" & CHOOSE(MONTH (дата); 1;1;1;2;2;2;3;3;3;4;4;4) & "-" & YEAR(дата)
Возвращает значения типа: «К1 - 2016», «К2 - 2016» и т. д.
Получить процент завершения года
= ДОЛЯГОДА(ДАТА (ГОД (дата); 1;1); дата)
Если вам необходимо вычислить процент, оставшийся в году, на основе данной даты, вы делаете это с помощью формулы, основанной на функции ДОЛЯГОДА.
В примере формула в C5, которая вычисляет процент оставшегося года, выглядит так:
= ДОЛЯГОДА(ДАТА(ГОД(B5); 1;1); B5)
= YEARFRAC(DATE(YEAR(B5); 1;1); B5)
Функция ДОЛЯГОДА принимает две даты, дату начала и дату окончания и вычисляет время между ними в дробных годах. В этом случае мы используем конечную дату как есть, но генерируем начальную дату, равную первому дню того же года, с этим битом кода:
ДАТА (ГОД (B5); 1;1)
Это извлекает значение года из даты в B5 и вставляет его в функцию ДАТА, а также 1 для месяца и дня.
В результате функция ДОЛЯГОДА возвращает десятичное значение, соответствующее доле года между двумя датами.
Когда это значение форматируется с использованием формата номера в процентах, он показывает процент года, который был завершен.
Чтобы вычислить процент оставшегося года, просто скорректируйте формулу, чтобы вычесть дробный год из 1. В примере D5 содержит эту формулу:
= 1-ДОЛЯГОДА(ДАТА(ГОД(B5); 1;1); B5)
= 1-YEARFRAC(DATE(YEAR(B5); 1;1); B5)
Получить квартал от даты
= ОКРУГЛВВЕРХ (МЕСЯЦ (дата) / 3;0)
= 1-YEARFRAC(DATE(YEAR(B5); 1;1); B5)
Это извлекает значение года из даты в B5 и вставляет его в функцию ДАТА, а также 1 для месяца и дня.
В результате функция ДОЛЯГОДА возвращает десятичное значение, соответствующее доле года между двумя датами.
Когда это значение форматируется с использованием формата номера в процентах, он показывает процент года, который был завершен.
Чтобы вычислить процент оставшегося года, просто скорректируйте формулу, чтобы вычесть дробный год из 1. В примере D5 содержит эту формулу:
= ОКРУГЛВВЕРХ(МЕСЯЦ (B5) / 3;0)
= ROUNDUP(MONTH (B5) / 3;0)
В этом случае формула сначала извлекает месяц как число от 1 до 12, а затем делит это число на 3. Затем результат округляется до ближайшего целого числа с помощью функции ОКРУГЛВВЕРХ.
Функция ОКРУГЛВВЕРХ работает так же, как функция ОКРУГЛ, за исключением того, что ОКРУГЛВВЕРХ всегда округляет цифры от 1 до 9 до заданного количества цифр.
Если вы хотите, чтобы номер четверти включал «Ч», вы можете конкатенировать. Формула в D5:
= "Ч" & ОКРУГЛВВЕРХ(МЕСЯЦ (B5) / 3;0)
= "Ч" & ROUNDUP(MONTH (B5) / 3;0)
Результатом является буква «Ч», добавленная к номеру квартала.
Получить ту же дату в следующем месяце
= ДАТАМЕС(дата; 1)
= "Ч" & ROUNDUP(MONTH (B5) / 3;0)
Чтобы получить ту же дату в следующем месяце с определенной даты, вы можете использовать функцию ДАТАМЕС.
В показанном примере формула в ячейке B5:
=ДАТАМЕС (B5;1)
=EDATE (B5;1)
ДАТАМЕС может получить «ту же дату» в будущем или в прошлом, исходя из количества предоставленных месяцев. Когда 1 дается месяцами, ДАТАМЕС получает ту же дату в следующем месяце.
Чтобы получить ту же дату за предыдущий месяц, используйте -1:
= ДАТАМЕС(дата; -1) // предыдущий месяц
Получить ту же дату в следующем году
=ДАТАМЕС (дата; 12)
=EDATE (дата; 12)
В показанном примере формула в ячейке B5:
= ДАТАМЕС(B5;12)
= EDATE(B5;12)
ДАТАМЕС может получить «ту же дату» в будущем или в прошлом, исходя из количества предоставленных месяцев. Когда 12 дается на месяцы, ДАТАМЕС получает ту же дату в следующем году.
Чтобы получить ту же дату за предыдущий месяц, используйте -12:
= ДАТАМЕС(дата; -12) // предыдущий год
Получить дату начала в соответствии с установленной датой
= РАБДЕНЬ(цель; дни; праздники)
= WORKDAY(цель; дни; праздники)
ДАТАМЕС может получить «ту же дату» в будущем или в прошлом, исходя из количества предоставленных месяцев. Когда 12 дается на месяцы, ДАТАМЕС получает ту же дату в следующем году.
Чтобы получить ту же дату за предыдущий месяц, используйте -12:
= РАБДЕНЬ(B6; C6; B9: B11)
= WORKDAY(B6; C6; B9:B11)
Начиная с даты окончания Пт, 06-Янв-2015, функция РАБДЕНЬ отсчитывает назад 10 рабочих дней (исключая выходные и праздничные дни) и возвращает Вт, 18-дек-2014. Это необходимая дата начала активности, для которой требуется 10 рабочих дней.
Функция РАБДЕНЬ принимает три аргумента: дата начала, дни и (необязательно) праздники. Затем он добавляет дни к дате, автоматически исключая выходные и праздничные дни (если они предусмотрены).
В этом случае мы хотим считать назад от даты в будущем (дату запуска) на определенное количество рабочих дней. Решением является использование отрицательного значения для дней.
При отрицательном значении дня РАБДЕНЬ вычитает дни с даты начала, принимая во внимание выходные и праздничные дни.
Обратите внимание, что праздники не являются обязательными. Результат в D5 показывает разницу, когда отпуска не предусмотрены.
Если в вашем расписании пользовательские выходные дни (то есть что-то отличается от субботы и воскресенья), используйте функцию РАБДЕНЬ.МЕЖД вместо РАБДЕНЬ.
Получить номер недели с даты
= НОМНЕДЕЛИ (дата)
= WEEKNUM (дата)
Функция НОМНЕДЕЛИ принимает два аргумента, дату и, необязательно, аргумент с именем Тип возвращаемого значения, который управляет схемой, используемой для вычисления номера недели.
В этом примере формула:
= НОМНЕДЕЛИ (B5)
= WEEKNUM (B5)
B4 содержит значение даты для 5 января 2016 года. Функция ДЕНЬ возвращает число 2, представляющее число вычисляемой недели.
Обратите внимание, что по умолчанию функция НОМНЕДЕЛИ использует схему, где неделя 1 начинается 1 января, а неделя 2 начинается в следующее воскресенье (когда аргумент Тип возвращаемого значения опущен или поставлен как 1).
При значении Тип возвращаемого значения 2 неделя 1 начинается 1 января, а неделя 2 начинается в следующий понедельник.
С номерами недель в неделю неделя 1 начинается в понедельник первой недели в году с четверга. Это означает, что первый день года для недель ISO - это всегда понедельник в период с 29 января по 4 января.
Начиная с Excel 2010 для Windows и Excel 2011 для Mac, вы можете сгенерировать номер недели ISO, используя 21 как Тип возвращаемого значения:
= НОМНЕДЕЛИ(дата; 21)
= WEEKNUM(дата; 21)
Автор проекта
Дмитрий Якушев
Привет! Меня зовут Дмитрий. С 2014 года Microsoft Cretified Trainer. Вместе с командой управляем этим сайтом. Наша цель - помочь вам эффективнее работать в Excel.
Изучайте наши статьи с примерами формул, сводных таблиц, условного форматирования, диаграмм и макросов. Записывайтесь на наши курсы или заказывайте обучение в корпоративном формате.
Сайт https://akademia-excel.ru/
ИП Якушев Дмитрий Александрович
ОГРНИП: 314501721200022
ИНН: 501706813807
Образовательная лицензия № Л035-01255-50/01194039
Почта: info@akademia-excel.ru
Телефон для связи: + 7 (958) 697-73-88, + 7 (495) 145-23-86
Регистрация на сайте означает согласие с пользовательским соглашением и на получение рассылки и рекламных материалов.
Политика в отношении обработки и защиты персональных данных.
Банковские реквизиты:
Расчетный счет 40802810500000003597
Банк АО «Тинькофф Банк»
Юридический адрес Банка Москва, 123060,1-й Волоколамский проезд, д. 10, стр. 1
Корр. счет Банка 30101810145250000974
ИНН Банка 7710140679
БИК Банка 044525974
Подписывайтесь на нас в соц.сетях:
Сайт https://akademia-excel.ru/
ИП Якушев Дмитрий Александрович
ОГРНИП: 314501721200022
ИНН: 501706813807
Образовательная лицензия № Л035-01255-50/01194039
Банковские реквизиты:
Расчетный счет 40802810500000003597
Банк АО «Тинькофф Банк»
Юридический адрес Банка Москва, 123060,1-й Волоколамский проезд, д. 10, стр. 1
Корр. счет Банка 30101810145250000974
ИНН Банка 7710140679
БИК Банка 044525974
Регистрация на сайте означает согласие с пользовательским соглашением и на получение рассылки и рекламных материалов.
Политика в отношении обработки и защиты персональных данных.
Почта: info@akademia-excel.ru
Телефон для связи: + 7 (958) 697-73-88, + 7 (495) 145-23-86
Написать в тех.поддержку
Подписывайтесь:
авторизуйтесь