Прескочи на основното съдържание

Как да преброя броя на уикендите/делничните дни между две дати в Excel?

Автор: Xiaoyang Последна промяна: 2020-07-03

Понякога трябва да знаем колко конкретни дни от седмицата са между две дати. Например, имам две дати: началната дата е 1/1/2014 и крайната дата е 2/15/2014, сега искам да знам колко пъти неделя, понеделник или вторник и т.н. се появява в тази продължителност. Може би това е малко трудно за нас, но тук мога да говоря за някои ефективни методи за вас.


Пребройте броя на конкретни делнични дни/уикенди между две дати с формула

Да предположим, че имам следните две дати и трябва да преброя колко недели са между тях. Изберете празна клетка, въведете формулата по-долу и натиснете Въведете ключ. И сега ще получите броя на неделите между двете дати. Вижте екранна снимка:

=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 г., така че мога да приложа тази формула като една от формулите по-долу, След това натиснете Въведете ключ, и ще получите колко недели наведнъж. виж екранни снимки:

=Общо дни(C2,C3,C4)

=Общо дни(2020,6,1;XNUMX;XNUMX)

 

Забележки: Тези формули използват цели числа за представяне на ден от седмицата: 1 е неделя, 2 е понеделник, 3 е вторник, 4 е сряда, 5 е четвъртък, 6 е петък и 7 е събота.


Пребройте числата на всички уикенди/делнични дни/определен ден от седмицата между две дати с Kutools за Excel

Всъщност можем да приложим Kutools за Excel Брой неработни дни между две дати формула, Брой работни дни между две дати формула и Пребройте броя на конкретен ден от седмицата формула за бързо преброяване на числата на всички уикенди, уикенди или конкретен ден от седмицата в диапазон от дати в Excel.

Kutools за Excel - Снабден с над 300 основни инструмента за Excel. Насладете се на пълнофункционален 30-дневен БЕЗПЛАТЕН пробен период без кредитна карта! Изтегли сега!

1. Изберете празна клетка, в която ще поставите резултата от преброяването, и щракнете върху Kutools > Помощник за формули > Помощник за формули, за да активирате тази функция

И след това продължете напред въз основа на вашите видове броене.

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

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

Сега връща общия брой на всички съботи и недели в избраната клетка.

Kutools за Excel - Заредете Excel с над 300 основни инструмента. Насладете се на пълнофункционален 30-дневен БЕЗПЛАТЕН пробен период без кредитна карта! Вземи Го Сега

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

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

И след това връща общия брой делнични дни (с изключение на събота и неделя) в избраната клетка.

Kutools за Excel - Заредете Excel с над 300 основни инструмента. Насладете се на пълнофункционален 30-дневен БЕЗПЛАТЕН пробен период без кредитна карта! Вземи Го Сега

C. Пребройте броя на конкретен ден от седмицата (понеделник, събота, неделя и т.н.) между две дати в Excel

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

И след това връща общия брой на посочения ден от седмицата в дадения диапазон от дати.

Kutools за Excel - Заредете Excel с над 300 основни инструмента. Насладете се на пълнофункционален 30-дневен БЕЗПЛАТЕН пробен период без кредитна карта! Вземи Го Сега


Още по темата:

Най-добрите инструменти за продуктивност в офиса

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

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 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