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

Как рассчитать среднее значение по дням недели в Excel?

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

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

среднее значение по дням недели


Вычисление среднего значения по День недели с помощью формул

Вычисление среднего значения по конкретному День недели

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

Введите следующую формулу в пустую ячейку:

=AVERAGE(IF(WEEKDAY(D2:D15)=2,E2:E15))

Затем одновременно нажмите клавиши Ctrl + Shift + Enter. Это подскажет Excel, что формула является формулой массива, и позволит обрабатывать каждую строку отдельно для получения правильного результата.

используйте формулу для вычисления среднего значения по определённому дню недели

Примечания и пояснения:

  • D2:D15 — это ваш список дат. Убедитесь, что они содержат корректные значения дат Excel.
  • 2 обозначает понедельник. Числовые коды для дней недели следующие: воскресенье = 1, понедельник = 2, вторник = 3, среда = 4, четверг = 5, пятница = 6, суббота = 7.
  • E2:E15 — это диапазон чисел, для которого вы хотите рассчитать среднее значение, например количество заказов, объём продаж или другие подобные метрики.

Советы:

  • Если ваша версия Excel поддерживает формулы динамических массивов (Office 365 или новее), вы можете вводить формулу напрямую — без использования Ctrl + Shift + Enter.
  • Проверьте, нет ли пустых ячеек или ячеек с недопустимыми датами, чтобы избежать ошибок в формулах.

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

=SUMPRODUCT((WEEKDAY(D2:D15,2)=1)*E2:E15)/SUMPRODUCT((WEEKDAY(D2:D15,2)=1)*1)

После ввода этой формулы в ячейку нажмите клавишу Enter. Здесь D2:D15 — это ваш диапазон дат, E2:E15 — ваш диапазон данных, а 1обозначает понедельник (при использовании второго аргумента функции WEEKDAY, равного 2, где понедельник = 1, вторник = 2, …, воскресенье = 7).


Вычисление среднего значения по рабочим дням

Чтобы вычислить среднее значение для рабочих дней (с понедельника по пятницу) в ваших данных, используйте следующую формулу массива:

=AVERAGE(IF(WEEKDAY(D2:D15,2)={1,2,3,4,5},E2:E15))

Введите эту формулу в пустую ячейку и подтвердите, нажав клавиши Ctrl + Shift + Enter.

используйте формулу для вычисления среднего значения по рабочим дням

Примечания и пояснения:

  • Эта формула рассчитывает среднее значение только для строк, где дата приходится на рабочие дни — с понедельника по пятницу.
  • Убедитесь, что значения дат в D2:D15 корректны — в противном случае функция WEEKDAY может вернуть неожиданные результаты.

Советы:

  • Если вы хотите избежать ввода массива, воспользуйтесь приведённой ниже альтернативой с функцией SUMPRODUCT.
  • Убедитесь, что столбец с датами содержит настоящие даты Excel, а не текст.

Другой способ достижения того же результата — использование формулы SUMPRODUCT:

=SUMPRODUCT((WEEKDAY(D2:D15,2)<,6)*E2:E15)/SUMPRODUCT((WEEKDAY(D2:D15,2)<6)*1)

Просто введите эту формулу и нажмите клавишу Enter — она автоматически рассчитает среднее значение для строк, где номер дня недели меньше 6, то есть с понедельника по пятницу.


Вычисление среднего значения по выходным дням

Для вычисления среднего значения только по выходным (суббота и воскресенье) используйте следующую формулу массива:

=AVERAGE(IF(WEEKDAY(D2:D15,2)={6,7},E2:E15))

Введите её в пустую ячейку и подтвердите, нажав клавиши Ctrl + Shift + Enter.

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

Примечания и пояснения:

  • Эта формула предназначена для дат, в которых функция WEEKDAY возвращает 6 или 7 (суббота или воскресенье) при значении второго аргумента, равном 2.

Советы:

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

Более быстрый вариант с использованием SUMPRODUCT, который работает без ввода как формула массива:

=SUMPRODUCT((WEEKDAY(D2:D15,2)>,5)*E2:E15)/SUMPRODUCT((WEEKDAY(D2:D15,2)>5)*1)

Как всегда, проверяйте корректность дат и отсутствие пустых ячеек, чтобы гарантировать точность результатов.


Код VBA — автоматизация вычисления среднего значения по День недели с помощью макроса

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

Применимый сценарий:Подходит при работе с большими списками, автоматизации повторяющегося анализа или подготовке сводных таблиц по всем Неделя.

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

Недостатки: Требует включения макросов и базового знакомства с VBA; может не подойти для сильно динамичных или облачных таблиц.

Порядок действий:

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

Sub AverageOrdersByWeekday()
    Dim dict As Object
    Set dict = CreateObject("Scripting.Dictionary")
    
    Dim cell As Range
    Dim ws As Worksheet
    Dim datesRange As Range, valuesRange As Range
    Dim i As Long, dayKey As String
    Dim sumArr(1 To 7) As Double
    Dim countArr(1 To 7) As Long
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set ws = Application.ActiveSheet
    Set datesRange = Application.InputBox("Select the date range", xTitleId, Selection.Address, Type:=8)
    Set valuesRange = Application.InputBox("Select the corresponding values range", xTitleId, "", Type:=8)
    
    For i = 1 To datesRange.Count
        If IsDate(datesRange.Cells(i).Value) Then
            Dim wd As Integer
            wd = Weekday(datesRange.Cells(i).Value, 2)
            sumArr(wd) = sumArr(wd) + valuesRange.Cells(i).Value
            countArr(wd) = countArr(wd) + 1
        End If
    Next i
    
    Dim resWs As Worksheet
    Set resWs = Worksheets.Add
    resWs.Name = "Weekday Averages"
    resWs.Cells(1, 1).Value = "Weekday"
    resWs.Cells(1, 2).Value = "Average"
    
    Dim dayNames As Variant
    dayNames = Array("Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday")
    
    For i = 1 To 7
        resWs.Cells(i + 1, 1).Value = dayNames(i - 1)
        If countArr(i) > 0 Then
            resWs.Cells(i + 1, 2).Value = sumArr(i) / countArr(i)
        Else
            resWs.Cells(i + 1, 2).Value = "No data"
        End If
    Next i
End Sub

2. Чтобы запустить макрос, нажмите кнопку Кнопка запускаили клавишу F5. Появится запрос на выбор диапазона дат (например, D2:D15) и соответствующего диапазона значений (например, E2:E15).
Макрос создаст новый лист со средними значениями для каждого дня недели. Для понедельника–воскресенья будет рассчитано значение «Среднее», а если данных для какого-либо дня недели нет — отобразится надпись «Нет данных».

Меры предосторожности и советы:

  • Убедитесь, что оба диапазона — даты и значения — имеют одинаковый размер и выровнены по строкам.
  • Макрос можно запускать только после сохранения книги в формате с поддержкой макросов (*.xlsm).
  • Если возникает ошибка, убедитесь, что ваши диапазоны не содержат пустых или недопустимых записей.
  • Вы можете изменить код, чтобы добавить фильтрацию по конкретным дням недели или расширить сводку.

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

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

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

Преимущества: Быстрая настройка, работа с большими наборами данных, автоматическое обновление при добавлении новых данных и поддержка дальнейшего анализа (например, фильтрации и сортировки).

Недостатки: Требует, чтобы данные были организованы в виде таблицы Excel или структурированного диапазона; возможности настройки ограничены по сравнению с решениями на основе VBA.

Шаги выполнения:

1.Добавьте вспомогательный столбец с названиями дней недели:
В пустом столбце (например,)F) введите в ячейку F2:

=TEXT(D2,"dddd")

Скопируйте формулу вниз, чтобы она охватывала все строки с вашими данными. (Предполагается, что даты находятся в)D2:D15.)

2.Выделите исходный диапазон, включая вспомогательный столбец (например,)D2:F15). Для наилучших результатов преобразуйте его в таблицу Excel (Ctrl+T), оставив выделение активным.

3. Перейдите на вкладку Вставка > Сводная таблица. В диалоговом окне «Создание сводной таблицы» выберите место её размещения (рекомендуется — новый лист) и нажмите OK.

4. В области «Поля сводной таблицы»:
— Перетащите вспомогательное поле День недели (столбец F) в область Строки.
— Перетащите числовое поле (например,)Заказы из столбца E) в область Значения.

5. Измените агрегацию на среднее значение:
Нажмите раскрывающуюся стрелку в области Значения > Параметры поля > Среднее > OK.

6. (Необязательно) Отсортируйте дни недели от понедельника до воскресенья:
Щёлкните правой кнопкой мыши по любой метке дня недели > Сортировка > Другие параметры сортировки, либо добавьте небольшой вспомогательный столбец с числами от 1 до 7 для пользовательской сортировки и выполните сортировку по нему. Также можно задать числовой формат через Параметры поля — Настройки полей > Числовой формат.

7. Обновляйте при изменении данных:
После обновления исходной таблицы щёлкните в любом месте сводной таблицы и выберите Обновить(или)Данные > Обновить всё).

Советы и устранение неполадок:

  • Убедитесь, что столбец с датами содержит корректные даты Excel (а не текст), иначе формула для определения дня недели может не сработать.
  • Если средние значения кажутся некорректными, убедитесь, что поле Значения установлено в значение Среднее, а не Сумма.
  • После изменения или добавления строки в исходной таблице используйте команду Обновить, чтобы сводная таблица пересчитала данные.
  • Для региональных настроек, в которых используется точка с запятой, введите вместо этого =TEXT(D2,"dddd").

Использование сводной таблицы для анализа по дням недели упрощает процесс и позволяет создавать интерактивные отчёты, идеально подходящие для презентаций и совместного использования аналитических данных.

скриншот kutools for excel ai

Раскройте магию Excel с помощью KUTOOLS AI

  • Интеллектуальное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это доступно через простые команды.
  • Пользовательские формулы: создавайте индивидуальные формулы для оптимизации рабочих процессов.
  • Программирование на VBA: Пишите и внедряйте код VBA легко и без усилий.
  • Анализ формул: Легко разбирайтесь даже в самых сложных формулах.
  • Перевод текста: Ломайте языковые барьеры прямо в ваших таблицах.
Расширьте возможности Excel с помощью инструментов на базе ИИ.Скачать сейчаси ощутите эффективность, как никогда раньше!

Связанные статьи:

Как рассчитать среднее значение между двумя датами в Excel?

Как вычислить среднее значение ячеек в Excel на основе нескольких условий?

Как найти среднее значение среди трёх наибольших или трёх наименьших чисел в Excel?

Лучшие инструменты повышения продуктивности в 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-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек