Посчитать количество недель между датами в excel
1) Помогите посчитать количество недель в произвольном месяце произвольного года, с учётом дней недели (понедельник-воскресенье).
2) Количество дней в каждой неделе этого месяца.
Например в январе 2012 года 6 недель: 1-я включает только воскресенье, шестая включает 30-е и 31-е числа. Соответственно в первой 1 день, во 2,3,4,5 по семь, в шестой два дня (для облегчения понимания календарик тоже прикрепил).
Для чего мне это надо: делаю финансовый планировщик на год, понедельно.
Табличка в приложении, разбитая понедельно. Недель в месяце столько, сколько насчитала формула. Внутри недели формулы должны соответствовать количеству дней в неделе.
Ввожу в ячейку год, 2012, а также (B4) план на месяц, допустим 31 000.
Должно появится в:
F4 - 1000
J4, N4, R4, V4 - 7000
Z4 - 2000
Изумительно будет, если визуально количество недель будет ровно таким, сколько "влезло" в месяц, без "пустующих" недель. Либо если с пустующими неделями 5 и 6, тогда пусть они будут нулевыми
Желательно без VBA (linux, libreoffice).
Последний раз редактировалось kyrus; 15.01.2012 в 15:37 . Причина: некорректная картинка Для формулистов:есть протягиваемая формула (не массивная) на 175 знаков
А1 год
А2 месяц
остальное по условию "Все следует делать настолько простым, насколько это возможно, но не проще." Альберт Эйнштейн Последний раз редактировалось DV68; 15.01.2012 в 17:26 .
Для формулистов:
есть протягиваемая формула (не массивная) на 175 знаков
А1 год
А2 месяц
Ввожу в ячейку год, 2012, а также (B4) план на месяц, допустим 31 000.
Должно появится в:
F4 - 1000
J4, N4, R4, V4 - 7000
Z4 - 2000
Как проблему-то решить?
у меня вопросы по данной формуле:
1) Почему у weekday формат 3, ведь у нас принято, что понедельник - начало. И что 3 обозначает?
2) Не понимаю математики выражения COLUMN()/4*7-10,5
номер текущей колонки делим на 4, умножаем на 7, вычитаем 10,5.
Для чего? Если для подстройки под конкретный адрес ячейки - то адрес необязателен. (видимо неправильно объяснил сначала - это чисто для примера было). Формула может стоять в любой ячейке.
3) Зачем в конце =$A2&"."&$A1)
4) Зачем 1 делить на все эти данные?
ps: У меня во всех ячейка, помеченных жёлтым, нули.
pps: 3 часа перевариваю формулу, не понимаю.
ppps: торкнуло, что может через shift+ctrl+enter вводить желтые - фиг. Везде 7000.
COUNT(1/(TEXT(DATE($A1;$A2;)-WEEKDAY(DATE($A1;$A2;1);3)+COLUMN()/4*7-10,5;"М.ГГГГ")=$A2&"."&$A1)) считаю количество получившихся чисел, игнорирую не числа, проверяю на ложь
1/(TEXT(DATE($A1;$A2;)-WEEKDAY(DATE($A1;$A2;1);3)+COLUMN()/4*7-10,5;"М.ГГГГ")=$A2&"."&$A1)) ?
TEXT(DATE($A1;$A2;)-WEEKDAY(DATE($A1;$A2;1);3)+COLUMN()/4*7-10,5;"M.YYYY")=$A2&"."&$A1) преобразую числа в текст формата M.YYYY, проверяю на ложь
` преобразую даты в матрицу чисел [40909 40910 40911 40912 40913 40914 40915]
40909 40910 40911 40912 40913 40914 40915
DATE($A1;$A2;)-WEEKDAY(DATE($A1;$A2;1);3)+COLUMN()/4*7-10,5 и почему в формате 3 40913,5 40916,25 40919 40921,75 40924,5 40927,25 40930
40976,5 41028,25 41080 41131,75 41183,5 41235,25 40930
мозг не может мой осилить, 5 часов уже не сплю.
Последний раз редактировалось kyrus; 16.01.2012 в 04:10 . Причина: уточнениеУ меня есть элементарный "гаджет" по подсчёту воскресений в текущем (2012) году.
Можно его расширить и до ответа на ваш вопрос. но вроде как заход вообще не оттуда нужен — а просто работать с определённой неделей как-то.
У меня есть элементарный "гаджет" по подсчёту воскресений в текущем (2012) году.
Можно его расширить и до ответа на ваш вопрос. но вроде как заход вообще не оттуда нужен — а просто работать с определённой неделей как-то.
Используйте функцию РАЗДАТ, если требуется вычислить разницу между двумя датами. Сначала поместите дату начала в ячейку, а дату окончания в другую. Введите формулу, как по одной из следующих формул:
Разница в днях
В этом примере начальная дата находится в ячейке D9, а даты окончания — в ячейке E9. Формула находится в F9. "d" возвращает количество полных дней между двумя датами.
Разница в неделях
В этом примере начальная дата находится в ячейке D13, а даты окончания — в ячейке E13. "d" возвращает количество дней. Однако обратите внимание на /7 в конце. При этом количество дней делится на 7, так как в неделе 7 дней. Обратите внимание, что этот результат также должен быть отформатирован как число. Нажмите CTRL+1. Затем щелкните Число>десятичных числах: 2.
Разница в месяцах
В этом примере начальная дата находится в ячейке D5, а даты окончания — в ячейке E5. В формуле "м" возвращает количество полных месяцев между двумя днями.
Разница в годах
В этом примере начальная дата находится в ячейке D2, а даты окончания — в ячейке E2. "y" возвращает количество полных лет между двумя днями.
Расчет возраста в накопленных годах, месяцах и днях
Вы также можете вычислить возраст или время службы другого человека. Результат может выглядеть так: "2 года, 4 месяца, 5 дней".
1. Чтобы найти общее количество лет, используйте dateDIF.
В этом примере дата начала находится в ячейке D17, а даты окончания — в ячейке E17. В формуле "y" возвращает количество полных лет между двумя днями.
2. Чтобы найти месяцы, снова используйте DATEDIF с "м".
В другой ячейке используйте формулу РАЗНОМЕР с параметром "м". "м" возвращает количество оставшихся месяцев за последний полный год.
3. Используйте другую формулу для поиска дней.
Теперь нужно найти количество оставшихся дней. Для этого мы напишем формулу другого типа, как показано выше. Эта формула вычитает первый день окончания месяца (01.05.2016) из исходной даты окончания в ячейке E17 (06.05.2016). Вот как это делается: сначала функция ДАТА создает дату 01.05.2016. Она создается с помощью года в ячейке E17 и месяца в ячейке E17. 1 обозначает первый день месяца. Результатом функции ДАТА будет 01.05.2016. Затем мы вычитаем эту дату из исходной даты окончания в ячейке E17 (06.05.2016), в результате чего получается 5 дней.
Предупреждение: Не рекомендуется использовать аргумент "мд" РАЗДАТ.
4. Необязательно: объединение трех формул в одну.
Все три вычисления можно поместить в одну ячейку, как в этом примере. Используйте амперанд, кавычка и текст. Это длинная формула, но по крайней мере она все в одной формуле. Совет. Нажмите ALT+ВВОД, чтобы ввести разрывы строк в формулу. Это упрощает чтение. Кроме того, если вы не видите всю формулу, нажмите CTRL+SHIFT+U.
Скачивание примеров
Вы можете скачать образец книги со всеми примерами из этой статьи. Вы можете следовать за ним или создать собственные формулы.
Другие вычисления даты и времени
Как было посчитано выше, функция РАЗДАТ.В.ДВ вычисляет разницу между датой начала и датой окончания. Однако вместо ввода определенных дат в формуле можно использовать функцию СЕГОДНЯ(). При использовании функции СЕГОДНЯ() Excel для даты используется текущая дата вашего компьютера. Имейте в виду, что эта переменная будет меняться при повторном открыть файле в будущем.
Обратите внимание, что на момент написания статьи день был 6 октября 2016 г.
Используйте NETWORKDAYS. Функция INTL, если вы хотите вычислить количество рабочих дней между двумя датами. Вы также можете исключить выходные дни и праздники.
Прежде чем начать: Решите, нужно ли исключить даты праздников. В этом случае введите список дат праздников в отдельной области или на отдельном листе. Поместите каждую праздниковую дату в свою ячейку. Затем выберем эти ячейки и выберем формулы > определить имя. Привяжем диапазон MyHolidaysи нажмите кнопку ОК. Затем создайте формулу с помощью действий ниже.
1. Введите даты начала и окончания.
В этом примере дата начала находится в ячейке D53, а даты окончания — в ячейке E53.
2. В другой ячейке введите формулу такого вида:
Введите формулу, как в примере выше. Число 1 в формуле устанавливает субботы и воскресенье в качестве выходных и исключает их из общего числа.
Примечание. Excel 2007 не имеет networkDAYS. Функция INTL. Однако в нем есть NETWORKDAYS. В этом примере в Excel 2007 г. будет выглядеть так: =NETWORKDAYS(D53;E53). Вы не указываете 1, так как в networkDAYS предполагается, что выходные — в субботу и воскресенье.
3. При необходимости измените 1.
Если суббота и воскресенье не являются выходными, измените число 1 в списке IntelliSense. Например, 2 дня по понедельникам и понедельникам являются выходными.
Если вы используете Excel 2007, пропустите этот шаг. Excel 2007 г. функция NETWORKDAYS всегда предполагает, что выходные дни — в субботу и воскресенье.
4. Введите название диапазона праздников.
Если вы создали имя диапазона праздников в разделе "Начало работы" выше, введите его в конце так: Если у вас нет праздников, оставьте запятую и запятую MyHolidays. Если вы используете Excel 2007, пример будет такой: =ДНЕЙМН(D53;E53;MyHolidays).
Совет: Если вы не хотите ссылаться на название диапазона праздников, можно также ввести диапазон, например D35:E:39. Можно также ввести в формулу каждый праздник. Например, если ваши праздники были 1 и 2 января 2016 г., введите их так: =СЕТЕВЫЕДНИ. INTL(D53;E53;1;). В Excel 2007 г. она будет выглядеть так: =ДНЕЙМН(D53;E53;)
Вы можете вычесть затращенное время, вычитая одно время из другого. Сначала поместите время начала в ячейку, а время окончания в другую. Обязательно введите полные часы, минуты и пробелы до am или PM. Ниже рассказывается, как это сделать.
1. Введите время начала и окончания.
В этом примере время начала находится в ячейке D80, а время окончания — в ячейке E80. Введите часы, минуты и пробелы до am или PM.
2. Задать формат ч:мм.AM/PM.
Выберите обе даты и нажмите CTRL+1 (или + 1 на Компьютере Mac). Выберите настраиваемый >ч:мм/PM, если он еще не установлен.
3. Вычитать два раза.
В другой ячейке вычитайте ячейку времени начала из ячейки времени окончания.
4. За установите формат ч:мм.
Нажмите клавиши CTRL+1 (или +1 на Mac). Выберите Настраиваемые > ч:мм, чтобы исключить из результатов am и PM.
Расчет заархив времени между двумя датами и временемЧтобы вычислить время между двумя датами и временем, можно просто вычесть одну из другой. Однако необходимо применить форматирование к каждой ячейке, чтобы Excel возвращал нужный результат.
1. Введите две полные даты и время.
В одной ячейке введите полную дату и время начала. В другой ячейке введите дату и время окончания. В каждой ячейке до am или PM должен быть месяц, день, год, час, минута и пробел.
2. Задать формат 14.03.2012, 13:30.
Выберем обе ячейки и нажмите CTRL+1 (или + 1 на компьютере Mac). Затем выберите Дата >14.03.2012, 13:30. Это не та дата, которая будет заданной вами, а только пример того, как будет выглядеть формат. Обратите внимание, что в версиях, предшествующих Excel 2016, этот формат может иметь другой пример даты, например14.03.2011 13:30.
3. Вычитать эти два.
4. За установите формат [ч]:мм.
Нажмите клавиши CTRL+1 (или +1 на Mac). Выберите пункт (все форматы). В поле Тип введите [ч]:мм.
Из этого обзора вы узнаете несколько быстрых и простых способов подсчета, сколько дней проходит между двумя датами в Excel.
Вам интересно, сколько составляет разница в днях, месяцах и годах между двумя датами? Может быть, вам нужно знать количество дней между сегодняшним днем и какой-либо точкой в прошлом или будущем?
Какова бы ни была ваша проблема, один из приведенных ниже примеров в Excel наверняка подскажет вам решение.
Простой калькулятор дней.
Если вы ищете быстрый ответ, просто укажите две даты в соответствующих ячейках, и наш калькулятор покажет вам, сколько суток между ними:
Хотите узнать формулу, которая рассчитала эти результаты? Это так же просто, как =B3-B2:)
Обратите внимание, что нужно четко знать, что именно вы хотите подсчитать: «дни включительно» или «дни между».
Кроме того, прежде чем выполнять операции с датой-временем, нужно установить правильный формат в ячейках вашей таблицы. Чаще всего Эксель сам подбирает нужный формат представления данных, но все же лучше подстраховаться.
Для этого выберите клетку или диапазон ячеек с числами, которые вы хотите представить как даты, и нажмите комбинацию клавиш Ctrl + 1, чтобы открыть диалоговое окно «Формат ячеек». На вкладке «Числовые форматы» в пункте «Дата», выберите подходящий для вас внешний вид в разделе «Тип» и нажмите кнопку «ОК».
Далее вы найдете подробное объяснение того, как работает эта формула, и узнаете несколько других способов вычисления.
Как рассчитать разницу в днях?
Самый простой способ рассчитать дни между датами в Эксель - вычесть одну из другой:
= Более новая - Более старая
Как мы уже сказали ранее, чтобы узнать, сколько времени пройдет в периоде между ячейками В3 и B2, используйте следующую формулу:
где В2 - более ранняя, а B3 - более.
Результатом подсчета является целое число, которое представляет количество дней внутри временного интервала.
Однако, будьте здесь внимательны: при подобном подсчете отработанных дней в том случае, если человек работал и в первый, и в последний день, то 1 день будет «потерян». Добавьте в вашу формулу +1 день.
Как работает эта формула?
Как вы, вероятно, знаете, Microsoft Excel хранит даты в виде порядковых номеров, начинающихся с 1 января 1900 года, которому соответствует номер 1. В этой системе 2 января 1900 года сохраняется как число 2, 3 января 1900 года как 3 и так далее. Таким образом, вычитая одну дату из другой, вы фактически вычитаете целые числа, представляющие их.
В нашем примере формула в C5 на самом деле вычитает 43892 (числовое значение 2 марта 2020г.) из 43900 (числовое значение 10 марта 2020г.) и возвращает результат 8 дней.
Положительный момент этого метода в том, что он отлично работает во всех случаях, независимо от того, какая дата старше, а какая новее. Если вы вычитаете более позднюю дату из более ранней, то формула просто возвращает разницу в виде отрицательного числа.
Рассчитать разницу между датами в Excel с помощью РАЗНДАТ (DATEDIF).
Другой способ — как в Экселе посчитать дни в заданном временном интервале — использование функции РАЗНДАТ (в английском варианте – DATEDIF), которая специально разработана для расчета разности во времени и представления её в различных единицах: дни, месяцы и годы.
А вот ее синтаксис:
дата_нач и дата_кон - две временных отметки, разницу между которыми необходимо рассчитать,
аргумент – указывает, как представить результат; может иметь одно из следующих значений:
- Y Число полных лет.
- M Число полных месяцев.
- D Число дней.
- MD Разница в днях (значения месяца и года не учитываются).
- YM Разница в месяцах (значения дня и года не учитываются).
- YD Разница в днях, игнорируя значения года.
Чтобы получить количество дней между двумя датами, укажите момент начала в первом аргументе, срок окончания во втором, и «d» в последнем третьем:
РАЗНДАТ(дата_нач; дата_кон; "d")
DATEDIF (start_date, end_date, "d")
Примечание. РАЗНДАТ (DATEDIF) - недокументированная функция, то есть ее нет в мастере функций в Excel. Вы не сможете ее вставить при помощи кнопки fx или меню Вставка — Функция. Чтобы создать формулу РАЗНДАТ в таблице Экселя, вам нужно вписать ее название руками и ввести все аргументы вручную, подсказок ввода не будет.
В ней вы можете указывать исходные данные различными способами, такими как:
- Ссылки на ячейки. Например, следующая формула вернет количество дней между A3 и B3:
Текстовые выражения. Excel понимает даты в различных форматах, например, «2 март 2020», «20.03.2020», «20/03/2020», «2020/03/20», «20-03-2020», «2020-03-20» и т.д.
Вот примеры расчета количества дней во временных промежутках:
Естественно, эти значения могут быть записаны и в ячейках, а формула на них будет ссылаться.
- Порядковые номера. Поскольку Microsoft Excel хранит каждую дату как порядковый номер, начинающийся с 1 января 1900 года, вы можете поместить числа, соответствующие датам, непосредственно в формулу. Хотя этот метод полностью поддерживается, все же он не является надежным, поскольку нумерация различается в разных компьютерных системах (Windows и MacOS).
В системе дат 1900 года следующая формула является еще одним способом вычисления месяцев по условиям из предыдущего примера (2 марта 2020 года и 10 марта 2020 года):
- Результаты выполнения других функций. Например, следующая формула подсчитывает, срок между сегодня (18 марта 2020г.) и 9 мая 2020 года.
1. Разница в днях.
В нашем примере формула расчета в D3 выглядит следующим образом:
Обратите также внимание, что при простом вычитании дат, которые также содержат время, мы получаем в результате дробное число. Так произошло в С5 и С6. Что делать с такими дробями – поговорим чуть позже. А вот время здесь просто игнорируется. В этом вы можете убедиться в диапазоне D5:I6.
Аналогичный результат можно получить формулами:
Время, то есть дробная часть, будет отброшено.
Кстати, если нужно подсчитать только рабочие дни, то следует использовать выражение
Более подробно о расчете рабочих дней читайте здесь.
2. Разница в полных месяцах.
Обращаемся к ячейке Е3:
Обратите внимание, выражение вернет количество полных месяцев. В нашем примере 13 месяцев и 7 дней «округлены» ровно до 13. И последний день интервала, как мы уже говорили, эта функция не учитывает. В частности,
возвращает результат 0, так как последний день не включается в расчет. Вы это видите в ячейке E7. Это также будет важно при расчете стажа и отработанного времени. Учитывайте эту особенность и просто добавляйте 1 дополнительный день!
Формула может быть заменена альтернативным выражением:
3. Разница в полных годах.
Формула в ячейке F3 вернет количество полных лет:
Опять же, считается только полный год, остальное отбрасывается.
Ну и альтернативный способ расчета —
4. Разница в полных месяцах без учета лет.
Используем в I3 аргумент "YM".
Второй параметр и конечная точка у нас – 10.04.2020 г. Поскольку годы мы здесь игнорируем, то год первого параметра также становится 2020. И мы теперь сравниваем 10.04.2020 и 2.03.2020г.
Результат – 1 полный месяц.
А вот если начало, предположим, будет 01.09.2015г.? Ведь ее нельзя модифицировать до 01.09.2020, поскольку тогда функция выдаст ошибку. И программа ее меняет на 01.09.2019. Результат здесь – 7 полных месяцев.
Я очень сомневаюсь, что кто-то будет проводить подобный расчет. Но он нам будет нужен, чтобы подсчитать количество дней, месяцев и лет между двумя точками. Об этом мы поговорим чуть ниже.
Ну и альтернативный расчет –
5. Разница в днях без учета месяцев и лет.
Здесь немного сложнее. Итак, в G3 пишем:
Разберем, как получен результат в G3. Поскольку для нас не важны месяц и год, мы в начальной дате меняем их на текущие. То есть вместо 02.03.2019 рассматриваем 02.04.2020. Сравниваем с 10.04.2020 и получаем 8 дней. Есть ли в таком результате смысл? Вряд ли. Поэтому и не рекомендуется применение этого аргумента как отдельного расчета.
Быть может, поэтому РАЗНДАТ и нет в списке официальных функций Excel.
6. Разница в днях без учета лет.
То же самое, что и в предыдущем аргументе. Считаем количество суток между двумя точками без учета лет.
Для начального момента — 02.03.2019 и конечного – 10.04.2020, разница в 39 дней выглядит явной ошибкой. Аналогично – между 01.09.2015 и 10.04.2020 совсем не 222 дня.
Следовательно, использование этого аргумента также не рекомендуем.
А зачем же всё это нужно? Ответ читайте в следующем разделе.
Как посчитать разницу в днях, месяцах и годах.
Чтобы подсчитать, сколько полных лет, месяцев и дней составляет разница "от" и "до" с использованием одной формулы, вы просто объединяете три функции в одно выражение:
Если вы не хотите отображать нулевые значения лет, месяцев и дней, то выражение можно изменить, добавив условие ЕСЛИ:
А вот еще один более сложный, но зато более универсальный вариант расчета разницы в днях, месяцах и годах с учетом склонений и падежей:
=ЕСЛИ(РАЗНДАТ(B2;B3;"y");РАЗНДАТ(B2;B3;"y")&" "&ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(B2;B3;"y")-11;100);9);10);"[<1]\го\д;[<4]\го\да;лет")&" ";)& ЕСЛИ(РАЗНДАТ(B2;B3;"ym");РАЗНДАТ(B2;B3;"ym")&" меся"&ТЕКСТ(ОСТАТ(РАЗНДАТ(B2;B3;"ym")-1; 11);"[<1]ц;[<4]ца;цев")&" ";)& ЕСЛИ(РАЗНДАТ(B2;B3;"md");РАЗНДАТ(B2;B3;"md")&" д"&ТЕКСТ(ОСТАТ(МАКС(ОСТАТ(РАЗНДАТ(B2;B3;"md")-11;100);9); 10);"[<1]ень;[<4]ня;ней");)
Выглядит угрожающе, но зато работает.
Подсчет с помощью функции ДНИ
У пользователей Excel 2013 и 2016 есть еще один удивительно простой способ посчитать количество дней во временном интервале — функция ДНИ.
Обратите внимание, что по сравнению с РАЗНДАТ, функция ДНИ требует указания дат в обратном порядке.
Итак, наше выражение принимает вид:
Как и обычное вычитание, оно возвращает разницу в виде положительного или отрицательного числа, в зависимости от того, больше или меньше срок окончания, чем начало:
Думаю, в большинстве случаев можно использовать простое вычитание. Возможно, при этом только нужно будет изменить формат ячейки, убрав дробную часть.
Как рассчитать количество дней между сегодня и другой датой.
Для этого расчета вы можете использовать любую из формул, описанных выше, и применить функцию СЕГОДНЯ (TODAY в английском варианте) в качестве одного из аргументов.
Чтобы рассчитать количество прошедших дней с определенного момента, то есть между прошлым и сегодняшним днем:
=СЕГОДНЯ() – Дата_в_прошлом
Для подсчета количества дней, оставшихся до наступления какого-то события, то есть между будущим временем и сегодняшним днем:
=Дата_в_будущем - СЕГОДНЯ()
В качестве примера, давайте посчитаем разницу между текущим моментом времени и более ранним - в A4 (сегодня 18 марта 2020г.):
А теперь давайте выясним, сколько осталось от сегодняшнего дня (18.03.2020г.) до более позднего срока:
Ну а если не менять выражение по сравнению с предыдущим расчетом, то просто получите отрицательное количество дней.
Мастер даты и времени - простой способ создавать формулы разницы дат в Excel
Как показано в первой части этого руководства, функция РАЗНДАТ (DATEDIF) — довольно универсальная, подходящая для самых разных целей. Однако есть один существенный недостаток — она не документирована Microsoft, то есть вы не найдете РАЗНДАТ в списке функций и не увидите всплывающих подсказок для аргументов, когда начнете вводить формулу в ячейку. Чтобы иметь возможность использовать функцию РАЗНДАТ в своих таблицах, вы должны запомнить ее синтаксис и ввести все аргументы вручную, что может занять много времени и привести к ошибкам, особенно у начинающих.
Надстройка Ultimate Suite радикально меняет это положение, поскольку там имеется мастер даты и времени, который может мгновенно создать практически любую формулу разницы дат. Если вы не уверены, какую формулу использовать, позвольте мастеру даты и времени вычислить количество дней между двумя датами за вас Вот каким образом это можно сделать:
- Выберите ячейку, в которую вы хотите вставить формулу.
- Перейдите на вкладку Ablebits Tools и нажмите кнопку Мастер даты и времени (Date & Time Wizard).
- Появится диалоговое окно мастера даты и времени, где вы переходите на вкладку «Разница (Difference)» и вводите необходимые данные для расчёта:
- Щелкните поле Дата 1 и выберите ячейку, содержащую первую дату.
- Щелкните поле Дата 2 и укажите ячейку со второй датой.
- Выберите желаемую единицу или комбинацию единиц времени из раскрывающегося меню «Разница в (Difference in)» . При этом программа позволяет предварительно просмотреть результат в поле и формулу в ячейке.
Инструмент может рассчитать разницу между двумя датами в 15 форматах:
- Годы
- Месяцы
- Недели
- Дни
- Годы + месяцы
- Годы + недели
- Годы + дни
- Месяцы + недели
- Месяцы + дни
- Недели + дни
- Годы + месяцы + недели
- Годы + месяцы + дни
- Годы + недели + дни
- Месяцы + недели + дни
- Годы + месяцы + недели + дни
- Если вас устраивает то, что вы увидели, нажмите кнопку «Вставить формулу (InsertFormula)», в противном случае попробуйте другие единицы измерения.
После того, как формула вставлена в выбранную ячейку, вы можете скопировать ее вниз по столбцу, как обычно дважды щелкнув или перетащив маркер заполнения.
К сожалению, метки даты и времени вставляются по-английски. Однако, поскольку надстройка формирует для вас не текст, а формулу расчета (что вы и видите на скриншоте), то откорректировать формулу и пользоваться в дальнейшем ее русской версией не слишком сложно.
Да и вряд ли вы самостоятельно напишете такую сложную конструкцию 😊
Для наиболее удобного представления результатов доступно еще несколько дополнительных опций:
- Исключить годы и / или месяцы из расчетов. (Годы и / или месяцы просто будут отброшены).
- Показывать или не показывать текстовые метки времени, такие как дни, месяцы, недели и годы .
- Показывать или не показывать нулевые единицы (0 месяцев, например) .
- Возвращает результаты как отрицательные значения, если Дата 1 (дата начала) больше, чем Дата 2 (дата окончания). Думаю, вы сталкивались с ситуацией, когда попытка вычесть из более ранней даты более позднюю приводила к ошибке. Здесь вы просто получите отрицательную разность.
Более подробная информация доступна здесь.
Преимущества использования мастера формул даты и времени
Помимо скорости и простоты, Мастер даты и времени предоставляет еще несколько преимуществ:
- В отличие от обычной формулы РАЗНДАТ, для формулы, созданной мастером, не важно, какая из двух дат меньше, а какая больше. Разница всегда рассчитывается идеально, даже если Дата 1 (дата начала) больше, чем Дата 2 (дата окончания).
- Мастер поддерживает все возможные единицы измерения (дни, недели, месяцы и годы) и позволяет вам выбирать подходящий вариант из 11 различных комбинаций этих единиц.
- Формулы, которые мастер создает для вас, являются обычными формулами Excel, поэтому вы можете редактировать, копировать или перемещать их как обычно. Вы также можете поделиться своими таблицами с другими людьми, и все формулы останутся на своих местах, даже если у кого-то нет Ultimate Suite в их Excel.
Если вам интересно протестировать этот калькулятор дат, а также открыть для себя еще 60 надстроек для упрощения работы и экономии времени в Excel, то можете загрузить пробную версию Ultimate Suite. Если вам понравились инструменты и вы решили купить лицензию, не пропустите это специальное предложение для читателей нашего сайта.
Думаю, теперь операции с датами стали для вас намного проще и понятнее. Если вы не нашли ответ на интересующий вас вопрос, ознакомьтесь с дополнительными материалами, ссылки на которые вы видите чуть ниже. Или напишите нам в комментариях – постараемся ответить.
Также рекомендуем статьи о работе с датами:
Как вывести месяц из даты - На примерах мы покажем, как получить месяц из даты в таблицах Excel, преобразовать число в его название и наоборот, а также многое другое. Думаю, вы уже знаете, что дата в… Функция Excel СЕГОДНЯ — синтаксис и основные применения - Функция СЕГОДНЯ в Excel делает именно то, на что указывает ее имя - возвращает сегодняшнюю дату. Синтаксис ее настолько прост, насколько это вообще возможно - у нее вообще нет аргументов. Всякий… Как быстро вставить сегодняшнюю дату в Excel? - Это руководство показывает различные способы ввода дат в Excel. Узнайте, как вставить сегодняшнюю дату и время в виде статической метки времени или динамических значений, как автоматически заполнять столбец или строку… Количество рабочих дней между двумя датами в Excel - Довольно распространенная задача: определить количество рабочих дней в период между двумя датами – это частный случай расчета числа дней, который мы уже рассматривали ранее. Тем не менее, в Excel для… 8 способов — как посчитать возраст в Excel по дате рождения. - В Excel нет специальной функции, чтобы посчитать возраст, однако существует несколько различных способов его определения на основе даты рождения. Вы узнаете несколько приемов, как рассчитать его в количестве полных лет,… Как преобразовать текст в дату в Excel или извлечь ее из сложной фразы? - Сейчас вы научитесь использовать функции Excel для преобразования текста в дату. Вы также узнаете, как это сделать без использования формул. Поскольку Excel - не единственное приложение, которое вы используете, иногда…Довольно часто при работе датами в таблице Эксель возникает необходимость определения временного промежутка между ними, который измеряется в днях. В Excel существуют различные способы для выполнения данной задачи. Давайте рассмотрим их.
Расчет разности дат
Для корректной работы с датами сперва нужно задать ячейкам соответствующий формат. В противном случае возможны проблемы с корректным отображением дат, что сделает невозможным их дальнейшую обработку.
На самом деле Эксель способен самостоятельно определять формат ячейки после ввода в нее информации. Но этот механизм не всегда срабатывает как надо, поэтому стоит заранее самостоятельно настроить формат ячеек или проверить, правильно ли его определила программа.
- Для начала выделяем целевой диапазон ячеек, воспользовавшись зажатой левой кнопкой мыши.
- по умолчанию мы должны оказаться во вкладке “Число” (если это не так, переключаемся в нее);
- в списке “Числовые форматы” находим позицию “Дата” и кликаем на нее;
- в поле “Тип” выбираем нужный образец представления данных, в соответствии с которым они будут отображаться на листе;
- нажимаем OK.
Метод 1: использование формулы вычитания
Начнем, пожалуй, с самого простого способа – вычитания двух дат, представленного в виде обычной формулы.
- Вносим две даты, между которыми будем определять разницу в днях, в две разные ячейки отформатированного ранее диапазона.
- Теперь выделим ячейку, в которой планируем отобразить результат нашего вычисления.
ВАЖНО: Количество дней обозначается простым целым числом, следовательно, ячейка для его вывода должна иметь отличный от “Дата” формат, а именно – “Общий“. В противном случае полученный результат будет отображаться в формате даты, что не позволит оценить корректность проведенных вычислений. Для определения текущего формата ячейки достаточно взглянуть на соответствующее поле, расположенное в разделе инструментов “Число” на ленте вкладки “Главная“.
Метод 2: функция РАЗНДАТ
Следующий способ – это определение разницы между двумя датами при помощи функции РАЗНДАТ.
Функция имеет следующий синтаксис: =РАЗНДАТ(начальная_дата;конечная_дата;единица).
Если с двумя первыми аргументами все понятно – их суть соответствует названию, то на третьем (“единица“) стоит остановиться подробнее, так как именно он позволяет варьировать результат использования функции, выбирая единицу расчета разницы между датами:
- “d” — количество дней между датами;
- “m” — количество полных месяцев между датами;
- “y” — количество полных лет между датами;
- “YM” — разница между датами в месяцах;
- “MD” — разница между датами в днях, без учета месяцев и лет;
- “YD” — разница между датами в днях, без учета лет.
В нашем случае покажем пример использование аргумента “YD”, так как целью расчета является определение количества дней между датами в пределах года.
Основное отличие от простого вычитания одной даты из другой – в порядке следования аргументов функции: в качестве первого аргумента выбирается начальная (более ранняя дата), а в качестве второго – конечная (более поздняя). Опишем ниже алгоритм вычислений.
Метод 3: функция ЧИСТРАБДНИ для определения количества рабочих дней
Третий описываемый метод позволяет вычислить количество дней с дополнительным условием – исключением из него нерабочих (выходных и праздничных) дней.
В данном методе используется функция ЧИСТРАБДНИ со следующим синтаксисом: =ЧИСТРАБДНИ(нач_дата;кон_дата;[праздники]).
Первые два аргумента аналогичны функции РАЗНДАТ. Последний аргумент является опциональным, то есть функция будет работать и без его указания. Однако именно он позволяет учесть в критериях вычисления нерабочие праздничные дни, так как по умолчанию из общего количества уберутся только субботы и воскресенья.
Приступаем к вычислениям:
Заключение
С помощью описанных выше методов можно достаточно легко посчитать количество дней между двумя датами, как с наличием дополнительных критериев, так и без них. Формула вычитания и функция РАЗНДАТ прекрасно подойдут для простого подсчета дней, а функция ЧИСТРАБДНИ поможет с расчетом количества именно рабочих дней между датами. Окончательный выбор зависит от поставленной перед пользователем задачи.
1) Помогите посчитать количество недель в произвольном месяце произвольного года, с учётом дней недели (понедельник-воскресенье).
2) Количество дней в каждой неделе этого месяца.
Например в январе 2012 года 6 недель: 1-я включает только воскресенье, шестая включает 30-е и 31-е числа. Соответственно в первой 1 день, во 2,3,4,5 по семь, в шестой два дня (для облегчения понимания календарик тоже прикрепил).
Для чего мне это надо: делаю финансовый планировщик на год, понедельно.
Табличка в приложении, разбитая понедельно. Недель в месяце столько, сколько насчитала формула. Внутри недели формулы должны соответствовать количеству дней в неделе.
Ввожу в ячейку год, 2012, а также (B4) план на месяц, допустим 31 000.
Должно появится в:
F4 - 1000
J4, N4, R4, V4 - 7000
Z4 - 2000
Изумительно будет, если визуально количество недель будет ровно таким, сколько "влезло" в месяц, без "пустующих" недель. Либо если с пустующими неделями 5 и 6, тогда пусть они будут нулевыми
Желательно без VBA (linux, libreoffice).
Последний раз редактировалось kyrus; 15.01.2012 в 15:37 . Причина: некорректная картинка Для формулистов:есть протягиваемая формула (не массивная) на 175 знаков
А1 год
А2 месяц
остальное по условию "Все следует делать настолько простым, насколько это возможно, но не проще." Альберт Эйнштейн Последний раз редактировалось DV68; 15.01.2012 в 17:26 .
Для формулистов:
есть протягиваемая формула (не массивная) на 175 знаков
А1 год
А2 месяц
Ввожу в ячейку год, 2012, а также (B4) план на месяц, допустим 31 000.
Должно появится в:
F4 - 1000
J4, N4, R4, V4 - 7000
Z4 - 2000
Как проблему-то решить?
у меня вопросы по данной формуле:
1) Почему у weekday формат 3, ведь у нас принято, что понедельник - начало. И что 3 обозначает?
2) Не понимаю математики выражения COLUMN()/4*7-10,5
номер текущей колонки делим на 4, умножаем на 7, вычитаем 10,5.
Для чего? Если для подстройки под конкретный адрес ячейки - то адрес необязателен. (видимо неправильно объяснил сначала - это чисто для примера было). Формула может стоять в любой ячейке.
3) Зачем в конце =$A2&"."&$A1)
4) Зачем 1 делить на все эти данные?
ps: У меня во всех ячейка, помеченных жёлтым, нули.
pps: 3 часа перевариваю формулу, не понимаю.
ppps: торкнуло, что может через shift+ctrl+enter вводить желтые - фиг. Везде 7000.
COUNT(1/(TEXT(DATE($A1;$A2;)-WEEKDAY(DATE($A1;$A2;1);3)+COLUMN()/4*7-10,5;"М.ГГГГ")=$A2&"."&$A1)) считаю количество получившихся чисел, игнорирую не числа, проверяю на ложь
1/(TEXT(DATE($A1;$A2;)-WEEKDAY(DATE($A1;$A2;1);3)+COLUMN()/4*7-10,5;"М.ГГГГ")=$A2&"."&$A1)) ?
TEXT(DATE($A1;$A2;)-WEEKDAY(DATE($A1;$A2;1);3)+COLUMN()/4*7-10,5;"M.YYYY")=$A2&"."&$A1) преобразую числа в текст формата M.YYYY, проверяю на ложь
` преобразую даты в матрицу чисел [40909 40910 40911 40912 40913 40914 40915]
40909 40910 40911 40912 40913 40914 40915
DATE($A1;$A2;)-WEEKDAY(DATE($A1;$A2;1);3)+COLUMN()/4*7-10,5 и почему в формате 3 40913,5 40916,25 40919 40921,75 40924,5 40927,25 40930
40976,5 41028,25 41080 41131,75 41183,5 41235,25 40930
мозг не может мой осилить, 5 часов уже не сплю.
Последний раз редактировалось kyrus; 16.01.2012 в 04:10 . Причина: уточнениеУ меня есть элементарный "гаджет" по подсчёту воскресений в текущем (2012) году.
Можно его расширить и до ответа на ваш вопрос. но вроде как заход вообще не оттуда нужен — а просто работать с определённой неделей как-то.
У меня есть элементарный "гаджет" по подсчёту воскресений в текущем (2012) году.
Можно его расширить и до ответа на ваш вопрос. но вроде как заход вообще не оттуда нужен — а просто работать с определённой неделей как-то.
Читайте также: