안녕하세요, 엑셀로 똑똑하게 일하는 여러분! 😊 데이터 정리하다 보면 '가장 많이 팔린 상품' 이나 '가장 자주 문의가 들어온 유형' 처럼 가장 빈번하게 나타나는 값을 찾아야 할 때가 있죠? 수많은 데이터를 눈으로 일일이 세는 건 정말 비효율적인 일이에요. 이럴 때 필요한 함수가 바로 MODE 함수랍니다!
오늘 이 글 하나로 엑셀 최빈값 함수, MODE의 기본 개념부터 실무 활용 꿀팁까지 완벽하게 마스터하실 수 있을 거예요. 자, 그럼 시작해볼까요?
🚦 [고정핀] 엑셀 MODE 함수는 지정한 범위에서 가장 자주 나타나는 값(최빈값)을 찾아주는 데이터 분석의 필수 함수입니다.
📊 엑셀 MODE 함수, 도대체 뭔가요?
MODE 함수는 '최빈값(Mode)'을 구하는 통계 함수예요. 최빈값이란, 데이터 집합에서 가장 많이 관측되는 값을 의미하죠. 예를 들어 [1, 2, 2, 3, 4] 라는 데이터가 있다면, 2 가 두 번으로 가장 많이 나왔으니 최빈값은 '2' 가 됩니다.
엑셀에서는 버전이 업데이트되면서 MODE 함수가 세분화되었어요.
- MODE.SNGL: 최빈값이 하나일 때 사용하는 가장 일반적인 함수예요. (Single)
- MODE.MULT: 최빈값이 여러 개일 경우, 모든 최빈값을 찾아주는 함수예요. (Multiple)
- MODE: 구버전 엑셀과의 호환성을 위해 남아있는 함수예요. 현재는 MODE.SNGL 사용을 권장합니다.
💡 오늘 강의에서는 가장 보편적으로 쓰이는 MODE.SNGL 과 심화 버전인 MODE.MULT 를 중심으로 설명해 드릴게요!
📝 MODE 함수 기본 구문과 인수
함수를 사용하려면 먼저 그 구조(구문)를 알아야겠죠? MODE 함수의 구문은 아주 간단해요.
=MODE.SNGL(number1, [number2], ...)
- number1 (필수): 최빈값을 계산할 첫 번째 숫자, 셀, 또는 범위입니다.
- [number2], ... (선택): 최-빈값을 계산할 추가적인 숫자, 셀, 또는 범위입니다. 최대 254개까지 지정할 수 있어요. 보통은 A1:A10 처럼 범위를 한 번에 지정해서 사용하죠.
📌 주의할 점!
- MODE 함수는 숫자만 계산해요. 텍스트, 논리값(TRUE/FALSE), 빈 셀은 계산에서 제외됩니다.
- 범위 안에 중복되는 값이 하나도 없다면 #N/A 오류가 발생해요.
💡 실전 예제로 배우는 MODE 함수 활용법
백 마디 설명보다 한 번의 실습이 더 효과적이죠! 업무에서 바로 써먹을 수 있는 4가지 예제를 준비했어요.
예제 1: 가장 기본적인 숫자 최빈값 찾기 (기본)
가장 기본적으로 학생들의 시험 점수에서 가장 많이 나온 점수를 찾아볼게요.
데이터 (CSV 타입) :
학생,수학 점수
A,85
B,90
C,75
D,90
E,80
F,95
G,90
H,85
I,70
J,88
K,90
위 데이터에서 가장 많이 나온 수학 점수(최빈값)를 찾아보겠습니다.
수식 :
=MODE.SNGL(B2:B12)
결과 : 90
90점이 4번으로 가장 많이 나타났기 때문에 결과는 '90' 이 됩니다. 정말 간단하죠?
예제 2: 여러 팀의 실적에서 가장 빈번한 판매 건수 찾기 (중급)
이번에는 한 단계 더 나아가 보겠습니다. 'A팀'과 'B팀', 두 개 팀의 일일 판매 건수 실적을 동시에 살펴보고, 두 팀을 통틀어 가장 자주 등장하는 판매 건수를 찾아보겠습니다.
데이터 (CSV 타입) :
A팀과 B팀의 5일간 판매 건수 데이터가 아래와 같이 두 개의 열에 나뉘어 있습니다.
일자,A팀 판매건수,B팀 판매건수
07월 21일,15,12
07월 22일,12,18
07월 23일,10,15
07월 24일,11,10
07월 25일,15,11
07월 26일,13,12
07월 27일,12,16
07월 28일,10,15
07월 29일,14,10
07월 30일,12,13
07월 31일,11,15
두 팀의 실적을 합쳐서 최빈값을 D2 셀에 구해보겠습니다.
수식 :
=MODE.SNGL(B2:B12, C2:C12)
결과 : 12
설명:
이 예제 수식의 핵심은 B2:B12 (A팀 실적) 와 C2:C12 (B팀 실적) 라는 서로 다른 두 범위를 함수의 인수로 사용한 점입니다.
MODE.SNGL 함수는 두 범위에 있는 모든 숫자 (A팀의 11개, B팀의 11개, 총 22개) 를 하나의 큰 데이터 그룹으로 인식하여 최빈값을 계산합니다. A팀과 B팀의 실적을 모두 합쳐보면 '12' 라는 숫자가 총 5번 ( A팀 3번, B팀 2번) 으로 가장 많이 등장하므로, 결과로 '12' 를 반환합니다.
이렇게 서로 떨어진 여러 범위를 동시에 분석하는 방법을 익히면, 데이터를 별도로 합치는 재가공 시간 없이 더 빠르게 원하는 값을 찾을 수 있답니다. 🙇♀️
예제 3: 공동 1위가 있을 때! 모든 최빈값 찾기 (고급)
만약 선호도 조사에서 동점 1위가 여러 개 나왔다면 어떻게 할까요? MODE.MULT 함수가 해결해 줍니다. 만족도 점수에서 최빈값을 찾아보죠.
데이터 (CSV 타입) :
평가자,만족도 점수(1-5)
USER1,5
USER2,4
USER3,3
USER4,5
USER5,2
USER6,4
USER7,1
USER8,5
USER9,4
USER10,5
USER11,4
데이터를 보면 5점 과 4점 이 각각 4번씩, 공동 1위네요. MODE.MULT 를 사용해봅시다.
💡 MS 365 버전 사용자는 그냥 아래 수식을 입력하면 결과가 아래로 자동으로 펼쳐져요. (동적 배열 기능)
구버전 엑셀 사용자는 결과를 표시할 여러 셀(예: C2:C3)을 미리 선택하고, 수식을 입력한 뒤 Ctrl + Shift + Enter 를 눌러야 해요! (배열 수식)
수식 :
=MODE.MULT(B2:B12)
결과:
5
4
결과가 5 와 4, 두 개가 모두 표시됩니다. 공동 최빈값을 모두 찾아낼 때 정말 유용하겠죠?
예제 4: 가장 빈번한 오류 코드의 '오류 메시지' 찾아오기 (실무 활용)
IT 시스템이나 스마트 공장에서는 수많은 오류가 코드로 기록됩니다. 어떤 오류가 가장 자주 발생하는지 파악하고, 그 오류가 무엇을 의미하는지 바로 찾아오는 예제를 만들어 보겠습니다. 여기서는 '오류 로그' 와 '오류 코드 정의표' 두 개의 테이블을 사용합니다.
데이터 (CSV 타입) :
(1) 일일 오류 기록 (A2:B13)
가장 자주 발생한 오류 코드를 찾을 대상입니다.
발생 시간,오류 코드
09:15,101
10:02,305
10:25,202
11:10,404
11:45,202
13:20,101
14:05,500
14:30,202
15:01,305
15:55,404
16:21,202
(2) 오류 코드 정의표 (D2:E7)
오류 코드의 의미를 찾아올 기준 정보 테이블입니다.
코드,오류 메시지
101,연결 시간 초과
202,센서 값 인식 불가
305,권한 없음
404,데이터 없음
500,서버 내부 오류
수식 :
MODE 함수로 최빈 코드를 찾고, VLOOKUP 함수로 해당 코드의 메시지를 가져옵니다.
=VLOOKUP(MODE.SNGL(B3:B13), D3:E7, 2, FALSE)
결과: 센서 값 인식 불가
설명:
이 수식의 동작 순서는 다음과 같습니다.
(1) MODE.SNGL(B3:B13): 먼저 '일일 오류 기록' 에서 가장 자주 발생한 오류 코드(최빈값)를 찾습니다. 위 데이터에서는 '202' 가 4번으로 가장 많이 발생했으므로, 202 를 결과로 반환합니다.
(2) VLOOKUP(202, D3:E7, 2, FALSE):
- VLOOKUP 함수는 MODE 가 찾아낸 202 라는 값을 가지고,
- '오류 코드 정의표'(D3:E7 범위) 에서 202 를 찾아,
- 그 옆의 2번째 열에 있는 값, 즉 '센서 값 인식 불가' 라는 텍스트를 최종 결과로 보여줍니다.
- FALSE 는 정확히 일치하는 값을 찾으라는 옵션입니다.
이렇게 MODE 와 VLOOKUP 을 조합하면 '가장 빈번하게 발생하는 현상(최빈값)' 과 '그 현상의 구체적인 내용(연결된 데이터)' 을 한 번에, 그리고 정확하게 찾아낼 수 있습니다.
🤔 MODE 함수, 이럴 땐 오류가 나요! (#N/A)
MODE 함수를 쓸 때 가장 흔하게 만나는 오류는 바로 #N/A 예요.
- 오류 원인: 범위 내에 중복되는 숫자 값이 하나도 없을 때 발생합니다. 즉, 최빈값 자체가 존재하지 않는 상황이죠.
- 해결 방법: IFERROR 함수를 함께 사용하면 깔끔하게 해결할 수 있어요. 오류가 발생했을 때 보여줄 메시지를 직접 지정하는 거죠.
예시:
=IFERROR(MODE.SNGL(B2:B12), "최빈값 없음")
이렇게 하면, 만약 최빈값이 없어서 #N/A 오류가 발생할 상황에 "최빈값 없음"이라는 텍스트가 대신 표시됩니다. 보고서가 훨씬 깔끔해지겠죠?
🔗 함께 쓰면 더 강력한 관련 함수들
- COUNTIF : 특정 조건에 맞는 데이터의 개수를 세는 함수예요.
- VLOOKUP / XLOOKUP : MODE 로 찾은 값과 연결된 다른 정보를 가져올 때 사용해요.
- FREQUENCY : 특정 구간별로 데이터의 빈도수를 계산해주는, MODE 보다 훨씬 강력한 빈도 분석 함수랍니다.
✨ 오늘 배운 내용, 핵심만 다시 보기!
자, 오늘 정말 중요한 내용을 배웠어요! 머릿속에 쏙쏙 들어오도록 핵심만 요약해 드릴게요.
- MODE 함수는 데이터에서 가장 자주 나오는 값(최빈값)을 찾는다.
- 최빈값이 하나일 땐 MODE.SNGL, 여러 개일 땐 MODE.MULT를 사용한다.
- MODE 는 숫자만 계산 하며, 중복값이 없으면 #N/A 오류 가 발생한다.
- #N/A 오류 는 IFERROR 함수로 깔끔하게 처리할 수 있다.
- VLOOKUP 과 함께 쓰면, 최빈값에 해당하는 텍스트 정보를 가져오는 강력한 실무 활용이 가능하다!
데이터 분석의 첫걸음, 최빈값 구하기! 이제 자신 있으시죠? 오늘 배운 내용을 꼭 업무에 적용해보세요. 칼퇴가 한 걸음 더 가까워질 거예요!
궁금한 점은 언제든 댓글로 남겨주시고, 이 글이 도움이 되셨다면 공감과 공유 부탁드려요! 여러분의 응원이 더 좋은 콘텐츠를 만드는 힘이 됩니다. ❤️
작성자: 마늘빵
📱 모바일에서 빠르게 다시보기
✅ 엑셀 MODE 함수 한눈에 보기
- 뭐하는 함수? 가장 자주 나오는 값(최빈값) 찾기
- 기본 함수 (1개 찾기): =MODE.SNGL(범위)
- 여러 범위 동시 분석: =MODE.SNGL(범위1, 범위2)
- 여러 동일 최빈값 찾기: =MODE.MULT(범위)
- 오류 해결: =IFERROR(수식, "오류시 메시지")
- 실무 응용: =VLOOKUP(MODE.SNGL(최빈값계산범위), 참조표, 결과열번호, FALSE)