rand(life)
1일1함수 (44) SUBTOTAL함수 : 부분합구하기 본문
부분합은 저도 잘 모르기 때문에, 아는 것만 설명 드리겠습니다. 더 자세히 아시는 분은 보충 설명 부탁드립니다. 일단 도움말부터 보시겠습니다.
구문 SUBTOTAL(function_num, ref1, ref2, ...) function_num 목록에서 부분합을 계산하는 데 사용할 함수를 지정하며 1에서 11(숨겨진 값 포함) 사이 또는 101에서 111(숨겨진 값 무시) 사이의 값입니다.
ref1, ref2 부분합을 계산할 참조 또는 범위로서, 1개에서 254개까지 지정할 수 있습니다. 주의
|
밑줄친 세 부분이 한번은 짚고 넘어가야할 사안입니다. SUBTOTAL함수에 제일 처음 나오는 인수는 SUBTOTAL함수가 부분"합"뿐만 아니라 다른 함수의 기능들도 수행한다는 것을 보여줍니다. 그러므로 각 인수가 어떤 함수를 의미하는지 알아둘 필요가 있습니다.
100단위의 인수와 1단위의 인수는 숨겨진 행을 계산에 포함시키느냐 마느냐의 차이인데, 자주 쓸 일이 있을 것 같지는 않아보입니다만, 일단 알아두는 것이 좋을 듯 합니다.
SUBTOTAL함수가 가로방향으로는 적용되지 않고 세로방향만 적용된다는 것도 알아두셔야할 것 같네요.
그보다는 두번째 내용, 필터결과에 포함되지 않은 행을 모두 무시한다는 이 부분이 자주 쓰이는 부분입니다.
학생들의 성적뿐만 아니라, 각 문항에 학생들이 응답한 내용까지 나타내주는 표가 여기 있습니다.
필터를 이용해서, 1번 문항에 정답(마침표가 정답을 의미합니다)을 맞힌 학생을 골라볼 수 있다는 것은 다들 알고 계실 것입니다. 그럼, 1번 문항에 정답을 맞힌 학생들의 총점 평균은 몇점일까요? 1번에서 마침표를 필터하고, 나온 결과를 다른 시트에 붙여넣기해서, AVERAGE함수를 쓰는 방법도 있겠습니다만, 좀 더 간단한 방법을 쓰려면 SUBTOTAL함수를 사용합니다.
수식은 다음과 같습니다.
=SUBTOTAL(1,$B$2:$B$11)
맨처음 인수로 1을 사용했으므로, 범위의 셀들의 평균을 구합니다.지금 상태에서는 모든 학생들의 평균점수가 91점이라는 것을 알 수 있습니다.
이제 필터를 적용해 보겠습니다.
지금 상태는 1번에 마침표(.)가 표시된, 즉, 1번을 맞힌 학생들만 보여주는 필터를 건 상태입니다.
1번에 정답을 맞힌 학생들만 필터를 걸고나면, 해당학생들의 점수의 평균이 나옵니다. 92.8점이라는 점수는 1번문제에 정답을 맞힌 학생들의 점수만 평균을 낸 것입니다.
이 방법을 이용하면, 몇번 문항과 몇번 문항을 동시에 맞히거나 틀린 학생들의 숫자나 평균등을 구할 수 있습니다.
정기고사 결과분석할 때 SUBTOTAL함수와 필터를 함께 이용하시면 상당히 많은 도움이 될 것입니다.
참고로, SUBTOTAL함수에 포함된 다른 함수들 중 우리가 다루지 않은 함수들의 의미는 다음과 같습니다.
PRODUCT 인수로 지정된 숫자를 모두 곱한 결과를 표시합니다.
STDEV 표본의 표준 편차를 예측합니다.
STDEVP 전체 모집단의 표준 편차를 계산합니다
VAR 표본의 분산을 예측합니다.
VARP 모집단 전체의 분산을 계산합니다.