105_엑셀 초급 강좌 – 함수 중급 (32)
보통 데이터 베이스 프로그램에는 unique 이라는 함수가 있어서 데이터에서 고유 데이터 값, 즉 중복되지 않은 데이터 값을 구해 줍니다. 엑셀에서 중복 값 제거와 중복 값 찾기는 있지만 고유의 값을 바로 계산해 주는 함수는 없습니다. 그러나 countif와 배열 함수를 잘 응용하면 어떤 함수라도 고유값의 개수를 찾는 것이 가능 합니다.
COUNTIF 복습
COUNTIF 함수를 이해 하셔야 이 고유값 찾기 원리를 이해 합니다. 내가 포스팅 한 적 있지만 검색으로 이 포스팅을 찾으신 분들을 위해 간단히 복습하고 가겠습니다.
함수 사용법
=COUNTIF(조건 범위,조건) 은 범위에서 조건에 맞는 셀 개수를 반환합니다.
COUNTIF 함수의 응용
고유 값 개수 찾기는 COUNTIF 함수의 역수를 이용한 것입니다. 일단 COUNTIF함수가 무엇을 반환하는지 한번 보겠습니다.
COUNTIF 함수는 M열에서 지금 각 데이터의 개수를 반환하고 있습니다. 정규직은 4개, 비정규직은 3개, 계약직은 3개가 있습니다.
이제 이 COUNTIF 함수를 역수로 바꾸어서 보겠습니다.
COUNTIF의 함수는 각 데이터 개수의 역수, 즉 정규직의 경우는 1/4가 되어 0.25를 반환 합니다.
이걸 이용해서 고유 값을 구하 실 수 있습니다.
각 데이터의 합계는 무조건 1이 되니 모든 데이터를 합하면 고유 데이터의 개수가 되겠죠?
어떻게 보면 약간 수학적 응용이 필요하지만 어렵진 않죠?
배열 함수 >> 큰 데이터의 고유 개수를 구할 때 사용할 수 있다
배열 함수를 사용할 때는 거의 표는 필수라고 할 수 있습니다. 이런 형태의 함수에 배열을 사용 하기 위해서는 행 열 전체 참조를 사용 할 수 없습니다. 그렇다면 큰 데이터 영역을 다 드래그 해줘야 하는데 10만개 라면? 이때 제가 예전에 알려드린 엑셀의 표를 사용 하시면 됩니다.
내 부서가 몇가지 종류가 있는지 한번의 계산으로 알고 싶습니다.
부서 종류의 개수를 구하는 식 입니다.
배열 입력 단축키
쉬프트+컨트롤+엔터
이 함수는 지금 배열로 입력 되어야 합니다. 제가 여기서 왜 배열인지 설명하는 것은 혼란만 가중 시키고 이전 포스팅을 보고 배열의 개념을 혼자 깨달으셔야 합니다.
총 18개의 부서 종류가 있으며 같은 함수로 직업 평가도의 개수가 몇 개가 있는지 알아본 것입니다.
하나의 함수를 설명하기 위해서 이전 개념을 알아야 할 때가 많습니다. 블로그의 특성상 바로 모든 답을 얻고 싶어 할 테지만 그렇게 가면 고급 기술을 설명을 못합니다. 이번 포스팅을 이해 하기 위해선 COUNTIF 함수, 표의 개념, 그리고 배열을 알고 있어야 합니다. 잘 이해가 가시지 않으시면 COUNTIF와 표, 그리고 배열을 다시 복습하실것을 부탁 드립니다.
'엑셀 2016 > 8_함수중급' 카테고리의 다른 글
107 엑셀 행 열 바꾸기 TRANSPOSE 함수 (2) | 2016.03.09 |
---|---|
106 엑셀 FREQUENCY 함수 도수분포표 구하기 (2) | 2016.03.09 |
104 엑셀 중복값 제거 이것만 알자 (10) | 2016.03.09 |
103 엑셀 배열로 시간계산 하는법 (0) | 2016.03.09 |
102_엑셀 배열 수식 100프로 이해하기 (7) | 2016.03.09 |