통합 요약노트
Ch.1 핵심 함수
IF, VLOOKUP, INDEX+MATCH, SUMPRODUCT, DSUM, COUNTIFS, 문자열 함수, 재무 함수
이 챕터의 내용
IF 함수 완전 정복
IF 함수는 엑셀에서 가장 많이 출제되는 핵심 함수입니다
IF 함수는 조건을 검사하고, 참이면 A를, 거짓이면 B를 반환합니다. 실기 시험에서 거의 매회 출제되는 핵심 함수입니다.
인수 순서: 조건 → 참 → 거짓 (3개 고정). 거짓일 때 값을 생략하면 FALSE가 반환됩니다.
단순 IF 수식 추적
- IF(조건, 참값, 거짓값) — 인수 3개, 순서 고정
- AND(모두 참) / OR(하나라도 참)과 결합하여 복합 조건 처리
- N구간 분류 → IF (N-1)개 중첩, 큰 값부터 비교
- MID, LEFT, VALUE 등 문자열 함수와의 결합이 기출 단골
- 오답 포인트: 조건 순서, 인수 누락, 따옴표 짝
VLOOKUP & HLOOKUP 완전 정복
VLOOKUP은 IF 다음으로 가장 많이 출제되는 함수입니다
VLOOKUP은 세로 방향(Vertical)으로 값을 찾아 같은 행의 다른 열 값을 반환합니다. 실기에서 거의 매회 출제됩니다.
핵심: 마지막 인수를 반드시 0(정확 일치)으로! 생략하면 근사 일치(1)가 기본값이라 오답의 원인이 됩니다.
기본 VLOOKUP 수식 추적
- VLOOKUP(찾을값, 범위, 열번호, 0) — 마지막 인수 0 필수
- 범위의 첫 열(VLOOKUP) / 첫 행(HLOOKUP)이 검색 기준
- 열번호는 시트가 아닌 범위 기준으로 카운트
- 근사 일치(1)는 오름차순 정렬 필수, 등급표에만 사용
- IF + VLOOKUP, IFERROR + VLOOKUP 조합이 기출 핵심
INDEX + MATCH 조합 완전 정복
INDEX + MATCH 조합은 VLOOKUP의 완벽한 상위 호환입니다
MATCH 함수는 값을 찾아 몇 번째에 있는지 위치(번호)를 반환합니다. 값 자체가 아니라 위치를 알려주는 것이 핵심입니다.
INDEX 함수는 범위에서 지정한 행/열 위치의 값을 반환합니다. MATCH가 "어디?"를 알려주면, INDEX가 "그 위치의 값"을 꺼내옵니다.
MATCH로 위치를 찾고, INDEX로 값을 꺼냅니다. VLOOKUP과 달리 검색 열이 왼쪽에 없어도 됩니다!
- MATCH(값, 범위, 0) → 위치 번호 반환 (몇 번째?)
- INDEX(범위, 행, 열) → 해당 위치의 값 반환
- 조합: INDEX(결과범위, MATCH(찾을값, 검색범위, 0))
- VLOOKUP과 달리 왼쪽 열 검색 가능, 방향 제한 없음
- 2차원 검색: MATCH 2개로 행번호 + 열번호 동시 지정
SUMPRODUCT & DSUM — 조건부 집계
SUMPRODUCT와 데이터베이스 함수는 다중 조건 집계의 핵심 도구입니다
SUMPRODUCT는 배열끼리 곱한 뒤 합산하는 함수입니다. 이 원리를 조건 판별에 활용하면 다중 조건 집계가 가능합니다.
핵심 트릭: (조건식)은 TRUE/FALSE → 곱하면 1/0이 됩니다. 조건에 맞는 행만 1, 나머지는 0이 되어 자동 필터링됩니다.
SUMPRODUCT 조건 카운트: 값 범위 대신 1을 곱하면 개수를 셉니다. `=SUMPRODUCT((조건1)*(조건2)*1)` 또는 곱할 범위를 생략
- SUMPRODUCT: (조건1)*(조건2)*값범위 → 다중 조건 합계
- 조건식은 TRUE=1, FALSE=0으로 자동 변환되어 필터링
- DSUM/DMAX/DAVERAGE: 별도 조건 범위 사용, 구문 동일
- 조건 범위: 같은 행=AND, 다른 행=OR, 헤더 정확 일치 필수
- SUMPRODUCT=수식 내 완결, DB함수=조건 범위 별도 관리
COUNTIFS / SUMIFS / RANK — 다중 조건과 순위
COUNTIFS/SUMIFS는 다중 조건 집계의 기본, RANK는 순위 산출의 필수 함수입니다
COUNTIFS는 여러 조건을 모두 만족하는 셀의 개수를 셉니다. COUNTIF의 다중 조건 버전입니다.
비교 연산자 사용법: 문자열로 감싸야 합니다! `=COUNTIFS(D2:D6, ">=3000000")` ← 큰따옴표 필수
COUNTIFS 다중 조건 수식 추적
- COUNTIFS(범위1, 조건1, 범위2, 조건2...) — 다중 조건 카운트
- SUMIFS(합계범위, 범위1, 조건1...) — 합계범위가 첫 인수! (SUMIF와 반대)
- 비교 연산자는 문자열: ">=80", "<90" (큰따옴표 필수)
- RANK.EQ(값, 범위) — 절대참조($) 필수, 0=내림차순, 1=오름차순
- LARGE(범위, k) / SMALL(범위, k) — k번째 큰/작은 값
텍스트 함수 완전 정복 — LEFT, MID, RIGHT, VALUE, TEXT
텍스트 함수는 IF, CHOOSE 등과 결합되어 실기에서 반복 출제됩니다
문자열의 왼쪽(LEFT), 가운데(MID), 오른쪽(RIGHT)에서 원하는 글자를 추출합니다.
MID의 시작위치는 1부터. 프로그래밍의 0부터와 다릅니다! MID("ABCDE", 2, 3) → "BCD" (2번째 위치부터 3글자)
LEFT, MID, RIGHT의 결과는 항상 텍스트입니다. 숫자로 비교하려면 VALUE로 변환해야 합니다.
- LEFT(n글자) / MID(시작, n글자) / RIGHT(n글자) — 위치별 추출
- MID의 시작 위치는 1부터 (0이 아님!)
- 추출 결과는 항상 텍스트 → 숫자 비교 시 VALUE() 필수
- TEXT(값, 서식) → 숫자/날짜를 원하는 형식의 텍스트로 변환
- 기출 핵심: MID+VALUE+CHOOSE(주민번호), LEFT+IF(코드 분류)
ROUND & 재무 함수 — 반올림, 적금, 대출 계산
ROUND와 재무 함수는 숫자 처리의 마무리이며 1급에서 집중 출제됩니다
반올림 계열 함수의 핵심은 자릿수 인수를 정확히 이해하는 것입니다. 양수 = 소수점 이하, 0 = 일의 자리, 음수 = 십/백/천 자리.
시험 함정: 자릿수 -1은 십의 자리에서 반올림하여 일의 자리를 0으로 만드는 것! 1234 → ROUND(1234, -1) → 1230
ROUND 반올림 수식 추적
- 자릿수: 양수=소수, 0=일의자리, 음수=십/백/천 자리
- ROUND(반올림), ROUNDUP(올림), TRUNC/ROUNDDOWN(버림)
- MOD(n,2)=0 → 짝수, MOD로 나머지/주기/요일 판별
- 재무 함수 공통 규칙: 이율÷12, 기간×12, 납입액=음수
- FV=적금 만기, PV=현재가치, PMT=월 상환액
오답 패턴 ① — 셀 참조 & 인수 실수
감점 TOP 2인 셀 참조 오류와 인수 실수를 미리 체험하고 면역을 만듭시다
엑셀의 셀 참조는 $ 기호의 위치에 따라 3가지로 나뉩니다. 수식을 복사할 때 참조가 어떻게 변하는지가 핵심입니다.
F4 키: 셀 주소 입력 후 F4를 누르면 A1 → $A$1 → A$1 → $A1 → A1 순서로 전환됩니다.
C2 셀에 =A2*B$1 수식이 있을 때, 이 수식을 C3으로 복사하면 어떻게 될까요?
- $ 바로 뒤의 것이 고정: $A = 열 고정, $1 = 행 고정, $A$1 = 모두 고정
- 고정값(단가, 세율 등) 참조 시 반드시 $ 붙이기 — 복사 시 참조가 밀림
- F4 키로 참조 전환: A1 → $A$1 → A$1 → $A1 → A1
- SUMIF vs SUMIFS: 합계범위 위치가 다름 (마지막 vs 첫째)
- VLOOKUP 일치유형(0) 생략하면 근사일치가 기본 — 반드시 0 명시
오답 패턴 ② — 조건 범위 & 타입 혼동
감점 원인 3~4위인 조건 범위와 타입 혼동을 정확히 이해합시다
COUNTIFS, SUMIFS, AVERAGEIFS 등 다중 조건 함수에서 조건범위들의 행 수가 다르면 #VALUE! 오류가 발생합니다.
실수 원인: 범위를 마우스로 드래그할 때 끝 행이 다르게 잡히는 경우가 많습니다. 시험에서는 문제에 제시된 범위를 정확히 확인하세요.
DSUM의 조건 범위는 별도 셀 영역에 작성합니다. 이때 필드명 행을 반드시 포함해야 하고, 필드명이 정확히 일치해야 합니다.
- COUNTIFS/SUMIFS: 모든 조건 범위의 행 수가 반드시 일치해야 함
- DSUM 조건 범위: 필드명 행 포함 필수 + DB 헤더와 정확히 동일한 필드명
- 텍스트 숫자 구분: 왼쪽 정렬 = 텍스트, 오른쪽 정렬 = 숫자
- SUM은 텍스트를 무시(0 취급), IF는 자동 변환 — 함수마다 처리가 다름
- VALUE(텍스트→숫자), TEXT(숫자→텍스트) — 변환 방향 혼동 주의
오답 패턴 ③ — 서식 & 설정 실수
실기 감점 5~8위인 서식·설정 실수를 체크리스트로 만들어 봅시다
차트 문제에서 데이터는 맞는데 서식 항목을 빠뜨려 감점되는 경우가 매우 많습니다. 아래 6가지는 시험에서 가장 자주 빠뜨리는 항목입니다.
차트 완성 후 반드시 확인: ① 제목 ② 범례 위치 ③ 데이터 레이블 ④ 축 서식. 이 4가지만 빠뜨려도 4~8점 감점!
조건부 서식 규칙이 여러 개일 때, 규칙의 우선순위와 중단 설정이 결과를 좌우합니다. 시험에서 "90 이상이면 빨강, 80 이상이면 노랑"처럼 겹치는 조건이 자주 출제됩니다.
- 차트 완성 후 반드시: 제목 → 범례 → 데이터 레이블 → 축 서식 순서로 체크
- 조건부 서식: 좁은 조건을 위에 배치 (IF 중첩과 같은 논리)
- 셀 보호 2단계: 셀 잠금 + 시트 보호 — 둘 다 해야 작동
- 기본값 함정: 모든 셀은 기본 잠금 ON → 편집 허용 셀을 먼저 잠금 해제
- 시험 종료 전: Ctrl+S → 시트 이름 → A1 클릭 → 다시 Ctrl+S
DATE/TIME 함수 완전 정복
DATE/TIME 함수는 실무와 시험 모두에서 빠지지 않는 필수 영역입니다
엑셀에서 날짜는 내부적으로 숫자(일련번호)로 저장됩니다. 1900년 1월 1일 = 1, 2026년 4월 4일 = 46,114처럼 날짜마다 고유 번호가 있습니다.
TODAY()와 NOW()의 차이: TODAY()는 날짜만, NOW()는 날짜+시간을 반환합니다. 둘 다 인수가 없고 괄호만 씁니다.
DATE 함수는 연, 월, 일을 조합하여 날짜를 생성합니다. EDATE와 EOMONTH는 기준 날짜에서 월 단위로 이동합니다.
- YEAR/MONTH/DAY: 날짜에서 연·월·일 추출, TODAY()는 인수 없이 오늘 날짜
- DATE(연,월,일): 날짜 생성, EDATE(N개월 후), EOMONTH(N개월 후 월말)
- DATEDIF(시작,끝,단위): 숨겨진 함수! Y/M/D/YM/MD/YD 6가지 단위
- NETWORKDAYS(영업일 수) vs WORKDAY(N영업일 후 날짜) — 공휴일 인수 빠뜨리지 말 것
- TEXT(날짜,서식): 결과는 문자열! 산술 불가, DATEVALUE로 역변환
배열 수식 & INDIRECT
배열 수식과 INDIRECT는 고급 함수 문제의 단골 소재입니다
배열 수식은 여러 값을 한꺼번에 계산하는 수식입니다. 일반 수식은 Enter로 확정하지만, 배열 수식은 Ctrl+Shift+Enter(CSE)로 입력합니다. 수식 입력줄에 {중괄호}가 자동으로 붙으면 성공입니다.
핵심: IF 함수가 범위(B1:B5)를 받으면 각 셀마다 TRUE/FALSE 배열을 반환합니다. SUM이 이 배열을 합산하므로 조건에 맞는 값만 더할 수 있습니다.
배열 상수는 {중괄호} 안에 값을 나열한 것입니다. 구분자 규칙이 매우 중요합니다.
- 배열 수식: Ctrl+Shift+Enter(CSE)로 입력, {중괄호} 직접 타이핑 금지
- 배열 상수 구분자: 쉼표(,)=열 구분, 세미콜론(;)=행 구분
- 다중 조건: 곱셈(*)=AND, 덧셈(+)=OR — TRUE=1, FALSE=0 활용
- INDIRECT(텍스트): 문자열→셀참조 변환, 다른 시트 참조 시 자주 출제
- 이름 정의 + INDIRECT: 동적 참조, OFFSET+COUNTA로 자동 확장 범위
핵심 용어 모음
조건 (logical_test)
참/거짓으로 판별할 수식 (예: A1>=80)
참일 때 값 (value_if_true)
조건이 TRUE일 때 반환할 값
거짓일 때 값 (value_if_false)
조건이 FALSE일 때 반환할 값
찾을값 (lookup_value)
찾고자 하는 기준값 (예: 사번)
범위 (table_array)
검색할 표 범위 — 첫 열이 기준열
열번호 (col_index_num)
반환할 열의 번호 (범위 기준, 1부터 시작)
일치유형 (range_lookup)
0 또는 FALSE = 정확 일치, 1 또는 TRUE = 근사 일치
찾을값
찾고자 하는 기준값
검색범위
1행 또는 1열 범위 (1차원)
일치유형
0 = 정확 일치, 1 = 이하 최대, -1 = 이상 최소
데이터베이스범위
헤더를 포함한 전체 테이블 범위 (A1:D5)
필드
집계할 열 이름("급여") 또는 열 번호(4)
비교 정리
| 항목 | 점수 범위 | 조건 | 결과 |
|---|---|---|---|
| 90점 이상 | B2>=90 | "수" | |
| 80~89점 | B2>=80 | "우" | |
| 70~79점 | B2>=70 | "미" | |
| 60~69점 | B2>=60 | "양" | |
| 60점 미만 | 나머지 | "가" |
| 항목 | A: 사번 | B: 이름 | C: 부서 | D: 급여 |
|---|---|---|---|---|
| 1001 | 김철수 | 영업부 | 3,000,000 | |
| 1002 | 이영희 | 인사부 | 3,200,000 | |
| 1003 | 박민수 | 개발부 | 3,500,000 | |
| 1004 | 정수진 | 기획부 | 2,800,000 |
| 항목 | A: 이름 | B: 부서 | C: 사번 | D: 급여 |
|---|---|---|---|---|
| 김철수 | 영업부 | 1001 | 3,000,000 | |
| 이영희 | 인사부 | 1002 | 3,200,000 | |
| 박민수 | 개발부 | 1003 | 3,500,000 | |
| 정수진 | 기획부 | 1004 | 2,800,000 |
| 항목 | 1분기 | 2분기 | 3분기 | |
|---|---|---|---|---|
| 서울 | 150 | 180 | 200 | |
| 부산 | 120 | 140 | 160 | |
| 대전 | 90 | 100 | 110 |
| 항목 | A: 이름 | B: 부서 | C: 직급 | D: 급여 |
|---|---|---|---|---|
| 김철수 | 영업부 | 대리 | 3,000,000 | |
| 이영희 | 인사부 | 과장 | 3,500,000 | |
| 박민수 | 영업부 | 대리 | 2,800,000 | |
| 정수진 | 영업부 | 과장 | 3,200,000 |
| 항목 | F: 부서 | G: 직급 |
|---|---|---|
| 영업부 | 대리 |
| 항목 | 함수 | 역할 | 구문 |
|---|---|---|---|
| DSUM | 조건부 합계 | DSUM(DB, "필드", 조건) | |
| DMAX | 조건부 최대값 | DMAX(DB, "필드", 조건) | |
| DAVERAGE | 조건부 평균 | DAVERAGE(DB, "필드", 조건) | |
| DCOUNT | 조건부 개수 | DCOUNT(DB, "필드", 조건) |
| 항목 | 함수 | 구문 | 설명 |
|---|---|---|---|
| LEFT | LEFT(텍스트, 문자수) | 왼쪽에서 N글자 추출 | |
| MID | MID(텍스트, 시작위치, 문자수) | 중간에서 N글자 추출 | |
| RIGHT | RIGHT(텍스트, 문자수) | 오른쪽에서 N글자 추출 |
| 항목 | 서식 코드 | 입력값 | 결과 |
|---|---|---|---|
| "yyyy-mm-dd" | 2024-03-15 | "2024-03-15" | |
| "yyyy"년" mm"월"" | 2024-03-15 | "2024년 03월" | |
| "#,##0" | 1234567 | "1,234,567" | |
| "0.00%" | 0.856 | "85.60%" | |
| "ddd" | 2024-03-15 | "금" |
| 항목 | 함수 | 구문 | 예시 |
|---|---|---|---|
| LEN | LEN(텍스트) | LEN("ABCDE") → 5 | |
| FIND | FIND(찾을문자, 텍스트) | FIND("-", "A-001") → 2 | |
| SEARCH | SEARCH(찾을문자, 텍스트) | FIND와 유사, 대소문자 무시 | |
| SUBSTITUTE | SUBSTITUTE(텍스트, 이전, 새것) | SUBSTITUTE("A-B", "-", "/") → "A/B" |
| 항목 | 함수 | 동작 | ROUND(1234.567, ?) |
|---|---|---|---|
| ROUND | 반올림 | ||
| ROUNDUP | 올림 (0에서 먼 쪽) | ||
| ROUNDDOWN | 내림 (0에 가까운 쪽) | ||
| TRUNC | 절사 (소수부 버림) | TRUNC = ROUNDDOWN과 거의 동일 |
| 항목 | 자릿수 n | 의미 | 결과 |
|---|---|---|---|
| 2 | 소수 둘째 자리 | 1234.57 | |
| 1 | 소수 첫째 자리 | 1234.6 | |
| 0 | 일의 자리 | 1235 | |
| -1 | 십의 자리 | 1230 | |
| -2 | 백의 자리 | 1200 | |
| -3 | 천의 자리 | 1000 |
| 항목 | 함수 | 의미 | 구문 |
|---|---|---|---|
| FV | 미래 가치 (적금 만기액) | FV(이율, 기간, 납입액, [현재가치], [지급시기]) | |
| PV | 현재 가치 | PV(이율, 기간, 납입액, [미래가치], [지급시기]) | |
| PMT | 정기 납입액 (대출 상환) | PMT(이율, 기간, 현재가치, [미래가치], [지급시기]) |
| 항목 | 참조 방식 | 표기 | 복사 시 변화 | 시험 빈도 |
|---|---|---|---|---|
| 상대참조 | A1 | 행·열 모두 변함 | ★★★ | |
| 절대참조 | $A$1 | 행·열 모두 고정 | ★★★ | |
| 혼합참조 (열 고정) | $A1 | 열 고정, 행 변함 | ★★ | |
| 혼합참조 (행 고정) | A$1 | 행 고정, 열 변함 | ★★ |
| 항목 | 함수 | 필수 인수 | 선택 인수 | 총 인수 |
|---|---|---|---|---|
| IF | 3개 | — | 3 | |
| VLOOKUP | 3개 | 1개(일치유형) | 3~4 | |
| INDEX | 2개 | 1개(열번호) | 2~3 | |
| MATCH | 2개 | 1개(일치유형) | 2~3 | |
| MID | 3개 | — | 3 | |
| SUMIF | 2개 | 1개(합계범위) | 2~3 | |
| DSUM | 3개 | — | 3 |
| 항목 | 구분 | 숫자 | 텍스트 |
|---|---|---|---|
| 셀 정렬 | 오른쪽 정렬 | 왼쪽 정렬 | |
| SUM에 포함? | 포함됨 | 무시됨 (0 취급) | |
| 비교 연산 | 크기 비교 가능 | 문자열 비교 (사전순) | |
| 셀 왼쪽 상단 | 표시 없음 | 초록색 삼각형 ▲ |
| 항목 | # | 체크 항목 | 실수 내용 | 배점 영향 |
|---|---|---|---|---|
| 1 | 차트 제목 | 제목 미입력 또는 오타 | 1~2점 | |
| 2 | 범례 | 범례 위치 미지정 (상/하/좌/우) | 1~2점 | |
| 3 | 데이터 레이블 | 레이블 표시 누락 또는 위치 오류 | 1~2점 | |
| 4 | 축 서식 | 축 최솟값/최댓값/간격 미설정 | 1~2점 | |
| 5 | 차트 종류 | 묶은 세로 막대 vs 꺾은선 혼동 | 2~3점 | |
| 6 | 데이터 원본 | 범위 지정 오류 (헤더 포함 여부) | 2~3점 |
| 항목 | # | 체크 항목 | 빈도 | 피해 |
|---|---|---|---|---|
| 1 | 파일 저장 (Ctrl+S) | 매우 높음 | 전체 0점 | |
| 2 | 시트 이름 변경 확인 | 높음 | 2~3점 감점 | |
| 3 | 셀 포인터 위치 (A1) | 보통 | 1~2점 감점 | |
| 4 | 인쇄 영역 설정 | 보통 | 2점 감점 | |
| 5 | 수식 입력줄 수식 확인 | 높음 | 해당 문항 전체 |
| 항목 | 단위 | 의미 | 결과 | 시험 빈도 |
|---|---|---|---|---|
| "Y" | 만 년수 | 2 | ★★★ | |
| "M" | 만 개월수 | 32 | ★★★ | |
| "D" | 만 일수 | 994 | ★★ | |
| "YM" | 년 제외 나머지 월 | 8 | ★★★ | |
| "MD" | 월 제외 나머지 일 | 20 | ★★★ | |
| "YD" | 년 제외 나머지 일 | 264 | ★★ |
| 항목 | 구분자 | 의미 | 예시 | 결과 |
|---|---|---|---|---|
| 쉼표 (,) | 열 구분 | {1,2,3} | 1행 3열 가로 배열 | |
| 세미콜론 (;) | 행 구분 | {1;2;3} | 3행 1열 세로 배열 | |
| 혼합 | 2차원 | {1,2;3,4} | 2행 2열 배열 |
퀴즈와 인터랙션으로 더 깊이 학습하세요
play_circle인터랙티브 코스 시작하기