Note: The other languages of the website are Google-translated. Back to English
Войти  \/ 
x
or
x
Регистрация  \/ 
x

or

Как посчитать количество выходных / будних дней между двумя датами в Excel?

Иногда нам нужно знать, сколько конкретных дней недели между двумя датами. Например, у меня есть две даты: дата начала - 1, дата окончания - 1, теперь я хочу знать, сколько раз в этот период происходит воскресенье, понедельник или вторник и т. Д. Возможно, для нас это несколько сложно, но здесь я могу рассказать о некоторых эффективных методах для вас.


Подсчитайте количество определенных будних / выходных дней между двумя датами с помощью формулы

Предположим, у меня есть следующие две даты, и мне нужно посчитать, сколько воскресений между ними. Выберите пустую ячейку, введите формулу ниже и нажмите Enter ключ. И теперь вы получите количество воскресений между двумя датами. Смотрите скриншот:

=INT((WEEKDAY($C$2- 1)-$C$2+$C3)/7)

Ноты:

(1) В приведенной выше формуле C2 - это дата начала, а C3 - дата окончания.

(2) В приведенной выше формуле 1 означает воскресенье. И вы можете заменить цифру 1 другими цифрами от 1 до 7. (1 - воскресенье, 2 - понедельник, 3 - вторник, 4 - среда, 5 - четверг, 6 - пятница и 7 - суббота.)


Используйте формулу для подсчета количества определенных дней недели в месяце

Иногда вам может потребоваться подсчитать общее количество дней недели в данном месяце, например, подсчитать общее количество дней в среду в июле 2020 года. Здесь я представлю формулу для подсчета общего количества дней недели в указанном месяц легко.

Выберите пустую ячейку, введите формулу ниже и нажмите клавишу Enter, чтобы получить результат подсчета.

=INT((WEEKDAY(DATE(G2,G3,1)- G4)-DATE(G2,G3,1)+EOMONTH(DATE(G2,G3,1),0))/7)

Заметки:

(1) В приведенной выше формуле G2 - это указанный год, G3 - указанный месяц, а G4 - указанный день недели.

(2) Эта формула присваивает целые числа для представления дня недели: 1 - воскресенье, 2 - понедельник, 3 - вторник, 4 - среда, 5 - четверг, 6 - пятница и 7 - суббота.


Используйте функцию, определяемую пользователем, для подсчета количества определенных будних / выходных дней в данном месяце

Вы также можете создать функцию, определяемую пользователем, чтобы вычислить, сколько конкретных дней недели в данном году и месяце, помимо приведенной выше формулы.

1. Удерживайте ALT + F11 ключи, и он открывает Окно Microsoft Visual Basic для приложений.

2. Нажмите Вставить > модульи вставьте следующий код в Окно модуля.

Public Function TotalDays(pYear As Integer, pMonth As Integer, pDay As Integer)
'Update 20140210
Dim xindex As Integer
Dim endDate As Integer
endDate = Day(DateSerial(pYear, pMonth + 1, 0))
For xindex = 1 To endDate
    If Weekday(DateSerial(pYear, pMonth, xindex)) = pDay Then
        TotalDays = TotalDays + 1
    End If
Next
End Function

3. Сохраните этот код и вернитесь на рабочий лист, затем в пустой ячейке введите эту формулу = Всего дней (год, месяц, 1) . В этом примере я подсчитаю, сколько воскресений будет в июне 2020 года, поэтому я могу применить эту формулу как одну из формул ниже., Затем нажмите Enter ключ, и вы получите, сколько воскресений сразу. см. скриншоты:

= Всего дней (C2, C3, C4)

= Всего дней (2020,6,1)

 

Ноты: В этих формулах для обозначения дня недели используются целые числа: 1 - воскресенье, 2 - понедельник, 3 - вторник, 4 - среда, 5 - четверг, 6 - пятница и 7 - суббота..


Подсчитайте числа всех выходных / будних дней / определенного дня недели между двумя датами с помощью Kutools for Excel

Фактически, мы можем применить Kutools for Excel's Количество нерабочих дней между двумя датами формула, Количество рабочих дней между двумя датами формула и Подсчитайте количество определенного дня недели формула для быстрого подсчета числа всех выходных, выходных или определенного дня недели в диапазоне дат в Excel.

Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Бесплатная пробная версия сейчас!

1. Выберите пустую ячейку, в которую вы поместите результат подсчета, и нажмите Kutools> Помощник по формулам> Помощник по формулам, чтобы включить эту функцию.

А затем продолжайте, основываясь на ваших типах подсчета.

A. Подсчитайте количество выходных (суббота и воскресенье) между двумя датами в Excel.

В диалоговом окне Помощник по формулам сделайте следующее:
(1) Выберите Статистический из Тип формулы раскрывающийся список;
(2) Щелкните, чтобы выбрать Количество нерабочих дней между двумя датами в Выберите формулу список;
(3) Введите дату начала в Дата начала поле (можно также указать ячейку даты);
(4) Введите дату окончания в Дата окончания поле (можно также указать ячейку даты);
(5) Щелкните значок OK кнопку.

Теперь он возвращает общее количество всех суббот и воскресений в выбранной ячейке.

Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Get It Now

Б. Подсчитайте количество дней недели (кроме субботы и воскресенья) между двумя датами в Excel.

В диалоговом окне Помощник по формулам сделайте следующее:
(1) Выберите Статистический из Тип формулы раскрывающийся список;
(2) Щелкните, чтобы выбрать Количество рабочих дней между двумя датами в Выберите формулу список;
(3) Введите дату начала в Дата начала поле (можно также указать ячейку даты);
(4) Введите дату окончания в Дата окончания поле (можно также указать ячейку даты);
(5) Щелкните значок OK кнопку.

Затем он возвращает общее количество рабочих дней (исключая субботу и воскресенье) в выбранной ячейке.

Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Get It Now

C. Подсчитайте количество определенного дня недели (понедельник, суббота, воскресенье и т. Д.) Между двумя датами в Excel.

В диалоговом окне Помощник по формулам сделайте следующее:
(1) Выберите Статистический из Тип формулы раскрывающийся список;
(2) Щелкните, чтобы выбрать Подсчитайте количество определенного дня недели в Выберите формулу список;
(3) Введите дату начала в Дата начала поле (можно также указать ячейку даты);
(4) Введите дату окончания в Дата окончания поле (можно также указать ячейку даты);
(5) Укажите конкретный день недели с помощью целого числа (1 означает воскресенье, 2–5 означает понедельник - пятницу, а 7 - субботу.);
(6) Щелкните значок OK кнопку.

Затем он возвращает общее количество дней недели в заданном диапазоне дат.

Kutools for Excel - Включает более 300 удобных инструментов для Excel. Полнофункциональная бесплатная 30-дневная пробная версия, кредитная карта не требуется! Get It Now


Статьи по теме:


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office / Excel 2007-2019 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Say something here...
symbols left.
You are guest
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Mohamed · 4 years ago
    Let's say you want to calculate the 3rd Thursday of the month and assume the date of the first of the month is in cell A1.

    We need to first work out the date of the Thursday in the week of A1. Because Thursday is the 5th day of the week, we use:

    [b]=[u]A1-WEEKDAY(A1)+5[/u][/b]

    Then if this Thursday falls before A1, we need to add 7 using

    [b](([u]A1-WEEKDAY(A1)+5[/u])
  • To post as a guest, your comment is unpublished.
    Jon · 4 years ago
    What about a formula that returns the actual date of the first Wed of each month, Or the 2nd and 3rd tuesday of each month?
    Or every 3rd tuesday?

    I want to be able to put in my own start and end dates and then get the actual DATES (not the count) returned to me. Any ideas?
  • To post as a guest, your comment is unpublished.
    KAMBLE VIJAY · 4 years ago
    hi sir,
    i want to calculate no. of weeks in excel between two dates, but Dose not see right weeks as per date
    for example: I enterd the date 01/01/2016 ( Friday) and second date 14/01/2016( thursday) no of weeks showing = 2 weeks.
    but i want to show exact 2 weeks completed 15/01/2016 other wise show previse no fo weeks.
    • To post as a guest, your comment is unpublished.
      Mohamed · 4 years ago
      Let the start and end dates be in cells A1 and A2, respectively. This should work:

      =INT((A2-A1)/7)
  • To post as a guest, your comment is unpublished.
    Rob Mormile · 6 years ago
    Is it possible to have the start date set to "=today()" and the end date, for example, the 22nd of the current cycle. As the date returns to the 23rd, refresh the formula to the following 22nd?
    • To post as a guest, your comment is unpublished.
      Mohamed · 4 years ago
      Assuming cycle refers to month, this should work for the end date:

      DATE(YEAR(TODAY()),MONTH(TODAY())+IF(DAY(TODAY())>22,1,0),22)
  • To post as a guest, your comment is unpublished.
    Mohamed · 6 years ago
    Why are my comments not published completely????
    • To post as a guest, your comment is unpublished.
      Admin_jay · 6 years ago
      [quote name="Mohamed"]Why are my comments not published completely????[/quote]
      Sorry, please try to send me the formula to jaychivo#extendoffice.com. Please replace @ with #.

      And i will help you post it. May be there are some characters which have been blocked. :-)
  • To post as a guest, your comment is unpublished.
    Mohamed · 6 years ago
    Hi Jaco,
    You may achieve this for someone who works Mondays (2), Wednesdays (4) and Fridays (6) as follows:

    (1) Call the year's start and end dates [quote]StartDate[/quote] and [quote]EndDate[/quote], respectively.
    (2) List all the public holidays in South Africa (this could span more than one year) in a range and call it [quote]PublicHolidays[/quote]
    (3) To calculate the total number of days worked enter the following [b]array[/b] formula:
    [quote]=INT((WEEKDAY(StartDate-2)-StartDate+EndDate )/7)+INT((WEEKDAY(StartDate-4)-StartDate+EndDate )/7)+INT((WEEKDAY(StartDate-6)-StartDate+EndDate )/7)-SUM(IF((PublicHolidays>=StartDate)*(PublicHolidays
    • To post as a guest, your comment is unpublished.
      Mohamed · 6 years ago
      Sorry the formula above is not complete: It should be:

      =INT((WEEKDAY(StartDate-[b]2[/b])-StartDate+EndDate)/7)+INT((WEEKDAY(StartDate-[b]4[/b])-StartDate+EndDate)/7)+INT((WEEKDAY(StartDate-[b]6[/b])-StartDate+EndDate)/7)-SUM(IF((PublicHolidays>=StartDate)*(PublicHolidays
    • To post as a guest, your comment is unpublished.
      Mohamed · 6 years ago
      I don't know what happened to my formula and the rest of my message above. The formula should be:

      =INT((WEEKDAY(StartDate-2)-StartDate+EndDate )/7)+INT((WEEKDAY(StartDate-4)-StartDate+EndDate)/7)+INT((WEEKDAY(StartDate-6)-StartDate+EndDate )/7)-SUM(IF((PublicHolidays>=StartDate)*(PublicHolidays
  • To post as a guest, your comment is unpublished.
    Jaco · 6 years ago
    Hi, I am from South Africa and I need advice.
    I have two workers at work who works different days. Now I want to type in a formula in excel to count how many days a year she work (that I can do), but the trick comes in when I want to type in a formula which allows me to deduct if one of her working days is a public holiday for example she works Monday, Wednesday and Friday. That means she works 156 days per year, but I want excel to deduct the holidays if it is on one of her working days. Can someone please assist me?
  • To post as a guest, your comment is unpublished.
    Laura Tigers · 7 years ago
    Does not work properly. You need to consider what day you're starting from and ending with!
    • To post as a guest, your comment is unpublished.
      Mohamed · 6 years ago
      Hi Laura,
      Could you please elaborate?
  • To post as a guest, your comment is unpublished.
    PhilT · 7 years ago
    Thank you for this.
    Question, how do I add another day like "Wednesday or 4" to the Monday? Basically I want it to calculate both the total of Mondays and Wednesdays between the two dates. How do I write this formula?
    Thanks again
    • To post as a guest, your comment is unpublished.
      JamesB · 6 years ago
      To help future seekers.
      Use this formula for calculating days between two dates:
      =NETWORKDAYS.INTL( start_date, end_date, [weekend], [holidays] )
      =NETWORKDAYS.INTL(A3,A4,"00000011",C3:C8) - 0=include day 1=exclude day
      • To post as a guest, your comment is unpublished.
        Vasyl · 1 months ago
        THANK YOU VERY MUCH!!! This is perfect! This function exactly does the task! 
    • To post as a guest, your comment is unpublished.
      Mohamed · 7 years ago
      Try
      =INT((WEEKDAY($B$1-2)-$B$1+$B2)/7)+INT((WEEKDAY($B$1-4)-$B$1+$B2)/7)
      • To post as a guest, your comment is unpublished.
        Saravanan · 5 years ago
        Thank You. This is so useful.