Как определить максимальный балл, участников и дни в Google Таблицах

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

Для примера возьмем таблицу с данными за декабрь, где строки соответствуют сотрудникам, а столбцы — дням месяца. В конце добавлена строка «Max value», которая уже содержит максимальные значения за первые четыре дня. Но как автоматизировать этот процесс и сразу получить имена участников и даты?

Пример таблицы с баллами сотрудников

Шаг 1: Находим максимальное значение за любой день

Первым делом определим глобальный максимум. Для этого используем функцию max(), указав диапазон всех ячеек с баллами. Например, если данные находятся в диапазоне B2:ZZZ5 (где B2 — первая ячейка с баллами, а ZZZ5 — условный конец таблицы), формула будет выглядеть так:

=max(B2:ZZZ5)

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

=max(B6:ZZZ6)

Важно: Убедитесь, что в диапазон не включены заголовки или другие нечисловые данные — это вызовет ошибку.

Шаг 2: Определяем сотрудников с максимальным результатом

Теперь нужно вывести имена тех, кто достиг этого значения. Здесь пригодится комбинация функций filter() и byrow(). Допустим, максимальное значение (60) находится в ячейке D9. Тогда формула для поиска имен будет такой:

=join(", ", filter( 
  A2:A5, 
  D9 = byrow(B2:ZZZ5, lambda(row, max(row))) 
))

Поясню:

  • byrow() проходит по каждой строке (то есть по каждому сотруднику) и находит максимум в их баллах с помощью lambda(row, max(row))
  • filter() отбирает только те строки из столбца A (имен), где максимум строки равен глобальному максимуму (D9)
  • join(", ") объединяет результаты через запятую, если таких сотрудников несколько

Шаг 3: Выявляем даты, когда был достигнут максимум

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

=join(", ", filter( 
  B1:ZZZ1, 
  D9 = bycol(B2:ZZZ5, lambda(col, max(col))) 
))

Здесь:

  • bycol() проверяет каждый столбец (день месяца) и находит максимальный балл в нем
  • filter() отбирает заголовки столбцов (B1:ZZZ1), где максимум совпадает с D9

Совет: Если в таблице много дней, замените ZZZ на реальный последний столбец (например, AE1 для 31 дня). Это ускорит работу таблицы.

Дополнительные рекомендации

Обработка пустых ячеек. Функции max(), byrow() и bycol() автоматически игнорируют пустые значения, но если в данных есть нули, учтите это при интерпретации

Динамические диапазоны. Если данные добавляются регулярно, используйте открытые диапазоны вроде B2:5 (без указания конечного столбца)

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

=iferror(join(", ", filter(...)), "Нет данных")

Пример готовой таблицы можно посмотреть здесь. Как видно, для 3-го и 4-го декабря максимальный балл (60) получили Name2 и Name4 соответственно.

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

Добавить комментарий

Все поля обязательны к заполнению. Ваш адрес email не будет виден никому.

Новое
Интересное