회사가 혜택 자동차 쇼를 후원하고 있으며 점수를 추적하고 우승자를 결정하는 책임이 있다고 가정합니다.

워크 시트의 각 열은 서로 다른 자동차 카테고리를 나타내며 각 행은 컨테스트의 다른 참가자를 나타냅니다. 표의 각 셀에는 해당 범주의 해당 참가자에 대한 점수가 포함되어 있습니다. 점수를 추적 한 후 각 범주에서 1 위, 2 위 및 3 위의 상위 3 개 승자를 계산하는 것이 당신의 임무입니다.

각 범주에 각 개인에 대한 고유 한 점수가 포함되는 경우 (동점 없음) 각 범주의 상위 3 개 점수를 계산하는 것은 비교적 쉽습니다. 워크 시트의 처음 3 개 행을 사용하여 각 범주의 상위 3 개 우승자를 표시한다고 가정 해 보겠습니다. A1 셀에는 1 (1 위), A2 셀에는 2 (2 위), A3 셀에는 3 (위치를 알 수 있음)이 포함됩니다.

실제 스코어링 테이블은 열 레이블이있는 A5 셀에서 시작됩니다. A5 셀에는 “Names”라는 단어가 포함되고 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 개의 열과 많은 참가자가 있음)를 만드는 대신 이름, 범주 및 점수의 세 열만있는 작은 데이터베이스를 만듭니다. 그런 다음 각 사람의 데이터를 데이터베이스에 입력하고 데이터베이스를 정렬하여 원하는 승자를 얻습니다. 먼저 카테고리별로 정렬 한 다음 점수별로 정렬하면 각 카테고리에서 상위 3 명의 참가자가 누구인지 쉽게 확인할 수 있습니다.

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (3041)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다. 여기에서 Excel (Excel 2007 이상)의 리본 인터페이스에 대한이 팁의 버전을 찾을 수 있습니다.

link : / excelribbon-Determining_Winners_by_Category [Determining Winners, by Category].