Перейти к основному содержанию

Как посчитать количество выходных / будних дней между двумя датами в 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 - Дополните Excel более чем 300 основными инструментами. Наслаждайтесь полнофункциональной 30-дневной БЕСПЛАТНОЙ пробной версией без необходимости использования кредитной карты! Get It Now

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

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

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

Kutools for Excel - Дополните Excel более чем 300 основными инструментами. Наслаждайтесь полнофункциональной 30-дневной БЕСПЛАТНОЙ пробной версией без необходимости использования кредитной карты! Get It Now

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

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

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

Kutools for Excel - Дополните Excel более чем 300 основными инструментами. Наслаждайтесь полнофункциональной 30-дневной БЕСПЛАТНОЙ пробной версией без необходимости использования кредитной карты! Get It Now


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

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

🤖 Kutools AI Помощник: Революционный анализ данных на основе: Интеллектуальное исполнение   |  Генерировать код  |  Создание пользовательских формул  |  Анализ данных и создание диаграмм  |  Вызов функций Kutools...
Популярные опции: Найдите, выделите или определите дубликаты   |  Удалить пустые строки   |  Объедините столбцы или ячейки без потери данных   |   Раунд без формулы ...
Супер поиск: Множественный критерий VLookup    VLookup с несколькими значениями  |   VLookup по нескольким листам   |   Нечеткий поиск ....
Расширенный раскрывающийся список: Быстрое создание раскрывающегося списка   |  Зависимый раскрывающийся список   |  Выпадающий список с множественным выбором ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка Фокус   |  Просмотр дизайна   |   Большой Формулный Бар    Менеджер книг и листов   |  Библиотека ресурсов (Авто текст)   |  Выбор даты   |  Комбинировать листы   |  Шифровать/дешифровать ячейки    Отправлять электронные письма по списку   |  Суперфильтр   |   Специальный фильтр (фильтровать жирным шрифтом/курсивом/зачеркиванием...) ...
15 лучших наборов инструментов12 Текст Инструменты (Добавить текст, Удалить символы, ...)   |   50+ График Тип (Диаграмма Ганта, ...)   |   40+ Практических Формулы (Рассчитать возраст по дню рождения, ...)   |   19 Вносимые Инструменты (Вставить QR-код, Вставить изображение из пути, ...)   |   12 Конверсия Инструменты (Числа в слова, Конверсия валюты, ...)   |   7 Слияние и разделение Инструменты (Расширенные ряды комбинирования, Разделить клетки, ...)   |   ... и более

Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени.  Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...

Описание


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

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Comments (19)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
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: =A1-WEEKDAY(A1)+5 Then if this Thursday falls before A1, we need to add 7 using [b]((A1-WEEKDAY(A1)+5)
This comment was minimized by the moderator on the site
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?
This comment was minimized by the moderator on the site
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.
This comment was minimized by the moderator on the site
Let the start and end dates be in cells A1 and A2, respectively. This should work: =INT((A2-A1)/7)
This comment was minimized by the moderator on the site
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?
This comment was minimized by the moderator on the site
Assuming cycle refers to month, this should work for the end date: DATE(YEAR(TODAY()),MONTH(TODAY())+IF(DAY(TODAY())>22,1,0),22)
This comment was minimized by the moderator on the site
Why are my comments not published completely????
This comment was minimized by the moderator on the site
[quote]Why are my comments not published completely????By Mohamed[/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. :-)
This comment was minimized by the moderator on the site
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 array 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
This comment was minimized by the moderator on the site
Sorry the formula above is not complete: It 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
This comment was minimized by the moderator on the site
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
This comment was minimized by the moderator on the site
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?
This comment was minimized by the moderator on the site
Does not work properly. You need to consider what day you're starting from and ending with!
This comment was minimized by the moderator on the site
Hi Laura, Could you please elaborate?
This comment was minimized by the moderator on the site
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
This comment was minimized by the moderator on the site
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
This comment was minimized by the moderator on the site
THANK YOU VERY MUCH!!! This is perfect! This function exactly does the task!
This comment was minimized by the moderator on the site
Try =INT((WEEKDAY($B$1-2)-$B$1+$B2)/7)+INT((WEEKDAY($B$1-4)-$B$1+$B2)/7)
This comment was minimized by the moderator on the site
Thank You. This is so useful.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations