• 최초 작성일: 2000-03-14
  • 최종 수정일: 2026-09-29
  • 조회수: 25 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: Letter From Abroad

들어가기 전에

오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.

에구… 간밤에 강좌파일을 열심히 준비를 해 두었는데 아침에 정신없이 나오는 통에 그만 노트북과 디스켓, 둘 다 집에다 두고 왔습니다. 해서 "오늘 강좌 없습니다…" 라고 할 거라면 애초에 시작도 않았겠지요? 히히…

오늘은 비상식량으로 대체 합니다. 이름하야 Letter From Abroad!!!

질문 하나

High Everyone!

I have a following problem.

(Hi! 라고 쓸 걸 High라고 썼네요 암튼) 아래와 같은 문제가 생겼습니다.

In the range of cells I would like to count how many diiferent data is

present.

특정 영역에 자료가 있는데 몇 개의 다른 자료가 있는지 카운트하고 싶습니다.

Example:

5, 3, 3, 2, 2, 2, 2, 5, 5

The result of counting in that case would be 3 since so many different

numbers are present.

위와 같은 경우 카운팅한 결과값은 3이 나와야 겠지요.

Any idea?

아이디어 주실 분?

Thanks in advance!

Danilo

Maribor

Slovenia

권현욱(엑셀러)
저자: 권현욱(엑셀러), 아이엑셀러 대표

필자는 Excel 컨설턴트, 작가, 그리고 크리에이터입니다. 현재 Microsoft Excel MVP이며, 『챗GPT+엑셀 업무자동화 정석』을 비롯한 10여 권의 도서를 집필했습니다. Excel 자동화 및 생산성 향상 분야에서 25년 넘는 경력을 보유하고 있습니다.

권현욱(엑셀러) 님의 최신 포스트:
  • 최신 글을 불러오는 중...


26년 경력 Microsoft MVP 권현욱(엑셀러) 지음

📊 신간 전자책(PDF) · 287쪽 · 13500원

엑셀 대시보드를 만드는 최적의 '표준 3계층 구조'

  • 3초 안에 읽히는 화면 설계 감각 습득
  • Microsoft Excel MVP의 실전 노하우 수록
  • 중간마진 없는 합리적인 가격, 오직 아이엑셀러에서만!
지금 구매하기 완성 화면 보기

Letter From Abroad

핵심 요약

  • COUNTIF가 각 값의 출현 횟수를 배열로 반환하도록 만든 뒤 그 역수를 합하면 서로 다른 값의 개수를 구할 수 있습니다.
  • SUM과 COUNTIF를 결합한 배열수식으로 중복 데이터가 섞인 범위에서 고유한 값의 개수를 계산할 수 있습니다.
  • 수식 일부를 선택하고 F9 키를 누르면 배열이 어떻게 계산되는지 중간 결과를 확인할 수 있습니다.

질문을 한 사람이 어느 나라 사람인지는 정확히 모르겠네요. 맨 밑에 Slovenia라고 돼 있는 걸로 봐서 옛 소련연방에서 분리된 나라 같기도 하고… 어쨌거나 Excel이 얼마나 world-wide한지 아시길…

참고: 슬로베니아는 소련이 아니라 옛 유고슬라비아 연방에서 독립한 나라입니다.

그동안 강좌를 충실히 따라오셨다면 이 정도 질문에는 충분히 답해 주실 수 있겠지요? 여러 가지 방법이 있겠지만 저는 이렇게 풀어 보았습니다.

참고: 원문의 이 표는 워크시트 화면을 옮긴 것으로, 표 옆 칸에 들어 있던 설명 문장은 표 아래 문단으로 옮겼습니다. 표의 첫 열 숫자는 워크시트의 행 번호이며, 열 머리글 B와 그림 뒤에 남아 있던 40 20은 의미 없는 조각으로 보아 삭제했습니다. C49 셀에는 결과값 6이 아니라 수식이 표시되어 있습니다.

48 값 몇 개의 값?
49 5 {=SUM(1/COUNTIF(B49:B58,B49:B58))}
50 3
51 3
52 3
53 2
54 7
55 6
56 5
57 4
58 2

위 셀에는 아래와 같은 수식이 들어 있습니다.

{=SUM(1/COUNTIF(B49:B58,B49:B58))}

Sum()과 Countif() 함수, 그리고 {}로 봐서 배열수식이 사용되었지요?

하나도 어려운 함수가 없지요? 위 수식을 이해하시겠는지…

위와 같이 수식을 입력하시고 <F2>키를 눌러 수식편집 상태가 되도록 한 다음,

COUNTIF(B49:B58,B49:b58)부분을 선택하고 <F9>키를 눌러 보세요.

Letter From Abroad 예제 화면 1
아이엑셀러

"즉석 계산 기능"을 실행시키니까 위와 같이 나타나네요. 즉, 첫번째 "5"의 값은 2개, 두번째 "3"의 값은 3개… 이렇게 표시해 주고 있지요?

참고: 아래 문장의 합산식은 일부만 적은 것입니다. 표의 B49:B58 값(5, 3, 3, 3, 2, 7, 6, 5, 4, 2)으로 계산하면 1/2 + 1/3 + 1/3 + 1/3 + 1/2 + 1/1 + 1/1 + 1/2 + 1/1 + 1/2 = 6이 됩니다.

이렇게 나타난 값을 다시 sum(1/2 + 1/3 + 1/3 + 1/2 + 1/1 + 1/1 … 1/2)하니까 결과값이 6, 즉 6가지 종류로 이루어져 있다는 것이지요.

이거 비상식량으로 대체한다고 해서 쉬운 건줄 알았는데 더 복잡한게 나왔지요? 배열과 배열수식을 잘 이해해야 Power User로 나아갈 수 있습니다. 중고등학교 때 수학 시간에도 공부 잘하는 사람은 진도를 죽죽 나가는데 그렇지 못한 사람은 허구헌 날 "집합"만 붙들고 있지요?

이것이 이해가 되면 배열수식을 제대로 알고 계신 것인데… 이해가 안가면 덮어 두었다가 한달 후에 다시 들여다 보세요.

오늘은 여기까지…

2000-03-14

정리 — Letter From Abroad

구분내용
문제범위 안에 서로 다른 값이 몇 개 있는지 세기 (예: 5, 3, 3, 2, 2, 2, 2, 5, 5는 3개)
수식{=SUM(1/COUNTIF(B49:B58,B49:B58))}
COUNTIF 부분각 값이 범위에 몇 번 나오는지를 배열로 반환
1/COUNTIF같은 값 하나하나가 1/횟수가 되므로 합하면 그 값은 1로 계산
예제 결과B49:B58에는 서로 다른 값이 6가지
확인 방법수식편집 상태에서 COUNTIF 부분을 선택하고 F9 키로 즉석 계산

자주 묻는 질문 (FAQ)

Q1. 범위 안의 서로 다른 값의 개수는 어떻게 구하나요?

SUM 함수 안에서 1을 COUNTIF 함수의 결과로 나누는 배열수식을 사용합니다. 같은 값이 여러 번 나오면 각각 1/횟수가 되어 모두 더하면 1이 되므로, 전체 합은 서로 다른 값의 개수가 됩니다.

Q2. 이 수식이 배열수식이라는 것은 어떻게 알 수 있나요?

SUM과 COUNTIF 함수가 함께 쓰였고 수식 앞뒤에 중괄호가 붙어 있으므로 배열수식입니다.

Q3. COUNTIF 결과는 어떻게 확인하나요?

F2 키로 수식편집 상태가 되게 한 뒤 COUNTIF 부분을 선택하고 F9 키를 누르면 각 값의 출현 횟수가 배열로 표시됩니다.

마치며

배열수식이 어렵게 느껴지면 F9 키로 중간 결과를 확인하면서 한 단계씩 따라가 보시기 바랍니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.