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

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

Если каждая категория будет содержать уникальный балл для каждого человека (нет равных), то вычислить три лучших результата в каждой категории относительно легко. Предположим, что первые три строки рабочего листа используются для отображения трех победителей в каждой категории. Ячейка A1 содержит 1 (первое место), ячейка A2 содержит 2 (второе место), а ячейка A3 содержит 3 (вы знаете, какое место).

Фактическая таблица оценок начинается в ячейке A5 с меток столбцов. Ячейка A5 содержит слово «Имена», а затем ячейки B5: AA5 содержат имена каждой категории автомобилей. Ячейки A6: A100 содержат имена каждого участника, а B6: AA100 содержат оценки этих участников по категориям.

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

=INDEX($A$6:$A$100,MATCH(LARGE(B$6:B$100,$A1),B$6:B$100,0))

Скопируйте формулу в остальную часть диапазона результатов B1: AA3. Формула смотрит на рейтинг в столбце A (от 1 до 3), а затем использует его для выбора первого, второго и третьего наибольших значений в каждом столбце. Однако вместо того, чтобы возвращать значение, оно используется для выбора имени человека с этим значением; именно это имя возвращается.

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

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

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (3041) относится к Microsoft Excel 97, 2000, 2002 и 2003. Вы можете найти версию этого совета для ленточного интерфейса Excel (Excel 2007 и новее) здесь:

link: / excelribbon-Determining_Winners_by_Category [Определение победителей по категориям].