KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как рассчитать количество рабочих часов в месяц в Excel?

АвторСяоянДата изменения

Во многих организациях сотрудники работают по стандартному графику — например, 8 часов в день и 5 дней в неделю. Точный расчёт общего количества рабочих часов в месяц крайне важен для корректного начисления заработной платы, отслеживания проектов и эффективного управления персоналом. Однако ручной подсчёт рабочих часов за каждый месяц может быть не только трудоёмким, но и подверженным ошибкам, особенно если учитывать выходные, государственные праздники или разнообразные графики работы сотрудников. Excel предлагает удобные инструменты и методы, которые помогут вам легко автоматизировать этот процесс, обеспечивая точность и повышая операционную эффективность.

Ниже приведены несколько эффективных решений для расчёта месячных рабочих часов в Excel, подходящих для различных структур данных и потребностей:

Расчёт общих рабочих часов в месяц с помощью формул

Код VBA — автоматический расчёт месячных рабочих часов для нескольких строк


Расчёт общих рабочих часов в месяц с помощью формул

Формульные функции Excel обеспечивают простой и надёжный способ расчёта общих рабочих часов в месяц, если вы знаете дату начала и дату окончания, а также норму рабочих часов в день. Этот метод идеально подходит, когда каждый день имеет фиксированный график работы, и вы хотите учитывать выходные, а при необходимости — и праздничные дни. Ниже приведено описание настройки расчёта:

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

=NETWORKDAYS(A2,B2) *8

После ввода формулы нажмите клавишу Enter. Изначально результат может отображаться в формате даты. Ниже — пример на скриншоте:

Расчет общего количества рабочих часов в месяц с помощью формулы

2. Чтобы отобразить значение в виде числа (рабочие часы), выберите ячейку с результатом формулы. Затем на вкладке Главная найдите раскрывающийся список Числовой формат и выберите пункт Общий. Теперь ячейка будет отображать общее количество рабочих часов в виде обычного числа, как показано на рисунке:

Форматирование ячейки как обычного числа

Совет: чтобы точно учитывать периоды, включающие праздничные дни, исключите их, добавив диапазон праздников в формулу. Используйте:

=NETWORKDAYS(A2,B2, C2:C4) *8

где A2 — это дата начала, B2 — это конечная дата, а C2:C4 содержит список праздничных дат, которые необходимо исключить. Отформатируйте ячейку как Общий, как описано выше.

Расчет общего количества рабочих часов в месяц без учета праздников

Примечание: Измените ссылки на ячейки (например, A2, B2, C2:C4) в соответствии с расположением ваших данных. Этот метод идеально подходит для стандартного ежедневного графика работы. Если сотрудники работают неполный день или продолжительность рабочего дня варьируется, возможно, потребуется адаптировать формулу или воспользоваться одним из альтернативных методов, приведённых ниже.

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


Код VBA — автоматический расчёт месячных рабочих часов для нескольких строк

Если ваш лист содержит записи о нескольких сотрудниках или строках — каждая со своими периодами, датами начала и окончания — ручной ввод формул построчно быстро становится утомительным. С помощью макроса VBA можно автоматически рассчитать рабочие часы для каждой строки массово, значительно экономя время и минимизируя риск ошибок при ручном вводе.

Это решение особенно полезно, когда у вас есть таблица, в которой каждая строка представляет сотрудника или отдельный рабочий период со столбцами для Дата начала, Конечная дата и, при необходимости, праздничных дней. Приведённый ниже макрос выполнит циклический перебор всех строк и заполнит рассчитанные рабочие часы для каждой записи.

1. Откройте редактор Visual Basic for Applications, выбрав Инструменты разработчика > Visual Basic. В появившемся окне нажмите Вставка > Модуль и вставьте следующий код VBA в область кода:

Sub CalculateMonthlyWorkingHours()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim i As Long
    Dim startCol As String, endCol As String, holidayCol As String, resultCol As String
    Dim holidays As Variant
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set ws = Application.ActiveSheet
    
    ' Adjust these column letters as needed
    startCol = "A" ' Start Date in Column A
    endCol = "B" ' End Date in Column B
    holidayCol = "C" ' Holiday list in Column C (optional; can be blank)
    resultCol = "D" ' Results in Column D
    
    lastRow = ws.Cells(ws.Rows.Count, startCol).End(xlUp).Row
    
    For i = 2 To lastRow
        If ws.Cells(i, startCol).Value <> "" And ws.Cells(i, endCol).Value <> "" Then
            If ws.Cells(i, holidayCol).Value <> "" Then
                holidays = Split(ws.Cells(i, holidayCol), ",")
                ws.Cells(i, resultCol).Value = WorksheetFunction.NetworkDays(ws.Cells(i, startCol), ws.Cells(i, endCol), holidays) * 8
            Else
                ws.Cells(i, resultCol).Value = WorksheetFunction.NetworkDays(ws.Cells(i, startCol), ws.Cells(i, endCol)) * 8
            End If
        Else
            ws.Cells(i, resultCol).Value = ""
        End If
    Next i
End Sub

Примечания и инструкции:

  • При необходимости измените буквы столбцов ()startCol, endCol, holidayCol, resultCol) в соответствии с макетом вашего листа.
  • Столбец holidayCol должен содержать даты, разделённые запятыми, например: 7/3/2025 , 7/18/2025. Если он не требуется, его можно оставить пустым.
  • Этот макрос предполагает, что данные начинаются со строки 2 — сразу после заголовка.

2. Чтобы запустить макрос, нажмите кнопку Кнопка запускаили клавишу F5, когда выбран модуль. Код автоматически рассчитает и заполнит общее количество месячных рабочих часов для всех строк в столбце результата. Если возникнет ошибка, проверьте корректность ссылок на ваши данные и параметры формата даты.

Этот метод особенно эффективен для автоматизации расчётов в крупных списках сотрудников или многострочных табелях учёта рабочего времени — он обеспечивает согласованность данных и снижает риск пропуска записей. Если структура ваших данных более гибкая или вы хотите суммировать ежедневные журналы посещаемости, рассмотрите возможность использования сводной таблицы, как описано ниже.


Лучшие инструменты повышения продуктивности в Office

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

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


Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
  • Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!

Все надстройки Kutools — один установщик

Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек