Здравствуйте, уважаемые читатели. Сегодня расскажу, как найти столбец в таблице и посчитать сумму его элементов. С одной стороны, процедура простая, с другой – имеет неочевидную особенность.

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

продажи по месяцам

Для лучшей читаемости формул, я присвоил имена следующим диапазонам:

  • «заголовки» — массив B2:G2 (названия месяцев)
  • «продажи» — B3:G12 (числовые данные о продажах)

Теперь можно обращаться к этим массивам по именам!

Справа от основной таблицы я сделал выпадающий список с месяцами, а под ним – разметил ячейку, в которой должна выводиться сумма продаж. Работаем с этой ячейкой в таком порядке:

  1. С помощью функции ПОИСКПОЗ найдем порядковый номер выбранного месяца в шапке таблицы с продажами:

=ПОИСКПОЗ(K2;заголовки;0)

  1. Теперь применяем функцию ИНДЕКС для получения найденного столбца. Напомню, что ей в аргументах передаётся массив исходных данных, номер строки и номер столбца для вывода. Функция вернёт ячейку на пересечении указанных строки и столбца. Однако, ели задать номер строки равным нулю, ИНДЕКС вернёт ссылку на весть столбец диапазона, а не на одну его ячейку:

=ИНДЕКС(продажи;0;ПОИСКПОЗ(K2;заголовки;0))

  1. Теперь просуммируем тот массив, что отдает функция индекс:

=СУММ(ИНДЕКС(продажи;0;ПОИСКПОЗ(K2;заголовки;0)))

сумма по столбцу

Необходимая сумма вычислена. Конечно, вы можете выполнять со столбцом и другие операции: находить наименьшее и наибольшее значение, среднее и т.д. Просто замените функцию СУММ на ту, которую хотите использовать.

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

=ЕСНД(СУММ(ИНДЕКС(продажи;0;ПОИСКПОЗ(K2;заголовки;0)));«Столбец не найден»)

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

На этом всё. Спасибо за прочтение, жду ваших вопросов!