아래 워크시트에서 순위[G2:G10]는 총점을 기준으로 구하되 동점자에… | [컴퓨터활용능력 1급 필기] 19년 2회차 기출문제 상세 페이지
1[컴퓨터활용능력 1급 필기] 19년 2회차
아래 워크시트에서 순위[G2:G10]는 총점을 기준으로 구하되 동점자에 대해서는 국어를 기준으로 순위를 구하였다. 다음 중 [G2] 셀에 입력된 수식으로 옳은 것은?
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | 성명 | 국어 | 수학 | 영어 | 사회 | 총점 | 순위 |
| 2 | 홍길동 | 92 | 50 | 30 | 10 | 182 | 1 |
| 3 | 한민국 | 80 | 50 | 20 | 30 | 180 | 3 |
| 4 | 이대한 | 90 | 40 | 20 | 30 | 180 | 2 |
| 5 | 이나라 | 70 | 50 | 30 | 30 | 180 | 4 |
| 6 | 마상욱 | 80 | 50 | 30 | 10 | 170 | 7 |
| 7 | 박정인 | 90 | 40 | 20 | 20 | 170 | 6 |
| 8 | 사수영 | 70 | 40 | 30 | 30 | 170 | 8 |
| 9 | 고소영 | 85 | 40 | 30 | 20 | 175 | 5 |
| 10 | 장명수 | 70 | 50 | 10 | 5 | 135 | 9 |
1
{=RANK($F2,$F$2:$F$10) + RANK($B$2,$B$2:$B$10)}2
{=RANK($B$2,$B$2:$B$10) * RANK($F2,$F$2:$F$10)}3
{=RANK($F2,$F$2:$F$10) + SUM(($F$2:$F$10=$F2) * ($B$2:$B$10>$B2))}4
{=SUM(($F$2:$F$10=$F2) * ($B$2:$B$10>$B2)) * RANK($F2, $F$2:$F$10)}해설
표를 보면 총점 180점이 한민국·이대한·이나라 세 명, 170점이 마상욱·박정인·사수영 세 명으로 동점자가 여럿이다. 순위는 총점으로 먼저 매기되, 총점이 같으면 국어 점수가 높은 사람을 앞 순위로 두어야 한다.
RANK 함수만 쓰면 동점자에게 모두 같은 값이 부여되므로, 여기에 자기와 총점이 같으면서 국어 점수가 자기보다 높은 사람 수를 더해 주어야 순서가 갈린다. 그 인원 수를 세는 것이 SUM(($F$2:$F$10=$F2)*($B$2:$B$10>$B2)) 부분으로, 총점 일치 여부(참=1)와 국어 우위 여부(참=1)를 곱해 합산하는 배열 수식이다.
실제로 한민국은 총점 180으로 RANK가 2, 총점이 같으면서 국어가 더 높은 사람은 이대한(90) 한 명이므로 2+1=3이 되어 표의 순위 3과 맞는다. 이나라는 2+2=4, 사수영은 6+2=8로 역시 표와 일치한다.
반면 총점 순위와 국어 순위를 그냥 더하거나 서로 곱하는 방식은 동점자 보정과 무관한 값을 만들어 표의 순위를 재현하지 못한다. 배열 수식이므로 입력 후 Ctrl+Shift+Enter로 확정해야 한다는 점도 함께 기억해 두자.
내용에 오류가 있거나 최신 법령·기준과 다른 부분이 보이면 알려주세요. 확인 후 반영하겠습니다.