Я пытаюсь рассчитать гандикап для игры в гольф для лиги. В графике 30 недель, и только самые последние 10 баллов используются для расчета гандикапа. Данные выглядят так:

Пример данных

Я использую эту формулу для расчета гандикапа: =ROUND((AVERAGE(Q3:AD3)-54)*0.8,0)

В настоящее время я должен корректировать диапазон для каждого игрока, каждую неделю, чтобы включать только его последние 10 очков. Как я могу улучшить эту формулу, чтобы сделать это для меня?

1 ответ1

1

Вам нужна более сложная формула, чтобы рассмотреть последние 10 ячеек с номером:

=ROUND((AVERAGE(OFFSET(B2,0,LARGE(IF(B2:W2>0,COLUMN(B2:W2),""),10)-COLUMN(B2),1,COLUMN(W2)+1-LARGE(IF(B2:W2>0,COLUMN(B2:W2),""),10)))-54)*0.8,0)

где:

  • LARGE(IF(B2:W2>0,COLUMN(B2:W2),""),10) получает номер столбца первого числа из 10
  • OFFSET(B2,0,LARGE(...)-COLUMN(B2),1,COLUMN(W2)+1-LARGE(...),10))) создает ссылку на диапазон, содержащий 10 чисел
  • =ROUND((AVERAGE(OFFSET(...)-54)*0.8,0) - это расчет по исходной формуле

Это формула массива, поэтому после вставки нужно нажать Ctrl+Shift+Enter

Формула будет автоматически обновлена, если вы вставите / удалите столбцы в / из после ссылки на первый столбец и до ссылки на последний столбец.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .