목록rank (5)
rand(life)
이전의 글에서, 우선 순위를 부여하여 동점자의 석차를 구하는 수식을 알아보았습니다. 위 그림에서, 학생4의 순위를 구하는 식은 아래와 같습니다. =IF(COUNTIF($F$2:$F$16,F5)>1,RANK(F5,$F$2:$F$16)+SUMPRODUCT(($F$2:$F$16=F5)*($H$2:$H$16>H5)),RANK(F5,$F$2:$F$16)) IF(COUNTIF($F$2:$F$16,F5)>1, 총점이 자신과 같은 사람의 수가 1보다 크면 (두명 이상이면)총점이 384점인 사람은 총 4명이므로, 참이다. ,RANK(F5,$F$2:$F$16)총점을 기준으로 한 자신의 순위에다가총점 기준 순위는 1위 (동점자는 4명) +SUMPRODUCT(($F$2:$F$16=F5)*($H$2:$H$16>H5))거기에 총..
오래전에 쓴 글에서 sumproduct함수를 설명하면서 동점자가 나왔을 때 추가의 기준을 적용하여 순위를 결정하는 방법을 설명한 적이 있습니다. (예를 들어, 총점이 같을 경우 국어 점수가 높은 학생이 순위를 높게 하는 경우) rank함수를 써서 순위를 구하고, 동점자의 경우 자신보다 총점이 같으면서 국어점수가 높은 학생의 수를 구해서 순위에다 더해주는 방법이었습니다. 참고: http://flogsta.tistory.com/418 그 글에서, 하나의 기준이 아니라, 제2,제3,제4의 기준을 주려면 어떻게 해야하나는 문제에 대해서는 답을 내놓지 못했습니다.(예를 들어, 총점이 같을 경우, 국어점수를 우선으로, 국어점수도 같으면 영어점수, 영어점수도 같으면 수학점수….) 물론 rank와 sumproduct를..
엑셀 2003에서 엑셀 2007로 바뀔때는 함수에 있어서 많은 변화가 있었습니다. sumifs, countifs, averageifs, iferror등의 함수들이 제공하는 기능은 활용도가 높아서 자주 사용하지만, 엑셀2003의 함수로 표현하려면 수식이 매우 길어져야했습니다. 그런데 엑셀2007에서 위의 함수를 제공함으로써 간단하게 수식을 쓸 수 있어서 매우 편리했습니다. 그래서 엑셀2010에서는 어떤 편리한 함수가 새로 나올까 기대하고 있었는데요, 시간을 내어 엑셀2010을 설치하고 살펴보니, 바뀌기는 매우 많이 바뀌었습니다만 우리 같은 일반사람들이 쓰는 함수에는 변화가 거의 없습니다. 변경된 함수 중에서 제일 친근한 것을 찾아보면 rank함수가 있습니다. Rank 함수도 rank.eq함수와 rank.a..
오늘은 SUMPRODUCT함수를 다룹니다. 이 블로그의 다른 글을 다 읽으신 분이라면 SUMPRODUCT함수에 대해서 알고 계실 것입니다만, 오늘은 석차를 낼때 사용하는 예를 들어 설명해 보겠습니다. 주어진 배열에서 해당 요소를 모두 곱하고 그 곱의 합계를 반환합니다. 구문 SUMPRODUCT(array1,array2,array3, ...) array1, array2, array3, ... 곱한 후 더할 값이 들어 있는 배열을 지정합니다. 2개에서 255개 사이의 배열을 사용할 수 있습니다. 주의 인수로 사용하는 배열의 차원은 모두 같아야 합니다. 차원이 같지 않으면 #VALUE! 오류 값이 반환됩니다. 숫자가 아닌 배열 항목은 0으로 처리됩니다. SUMPRODUCT함수는 다음에 이야기하게 될 "배열함수..
오늘은 간단한 함수를... 순위매기기 rank() 함수이다. RANK(number,ref,order) number 순위를 구하려는 수입니다. ref 숫자 목록의 배열 또는 참조입니다. 숫자 이외의 값은 무시됩니다. order 순위 결정 방법을 지정하는 수입니다 (0 이나 생략하면 내림차순, 1 올림차순) 개인적으로, 뒤에 order 인수를 설정하면 올림차순이나 내림차순을 정할 수 있다는 것을 몰랐다. 숫자가 낮은 것이 순위가 높게 하는 것(예를 들면, 수능 성적의 등급)을 하려면 역수를 구하거나 빼거나 해서 골치 아팠었는데.... "매뉴얼 3회 정독"이 카메라에만 적용되는 것은 아니었다. 여기서 주의할 점은, ref에 해당하는 부분 (여기서는 B2:B390)을 절대참조로 입력해야한다는 점이다. 지금처럼 ..