엑셀 함수, 이 30개만 알면 실무 끝
엑셀은 직장인이라면 피할 수 없는 도구입니다. 하지만 엑셀에는 400개가 넘는 함수가 있고, 매번 검색하다 보면 시간만 낭비하게 됩니다.
그래서 실무에서 가장 많이 쓰이는 함수 30개만 골라 카테고리별로 정리했습니다. 이 30개만 익히면 대부분의 업무를 수식으로 해결할 수 있습니다.
| 카테고리 | 포함 함수 | 개수 |
|---|---|---|
| 수학/통계 | SUM, AVERAGE, COUNT, COUNTA, MAX, MIN, ROUND | 7개 |
| 조건부 | IF, IFS, SUMIF, SUMIFS, COUNTIF, COUNTIFS | 6개 |
| 찾기/참조 | VLOOKUP, HLOOKUP, XLOOKUP, INDEX, MATCH | 5개 |
| 텍스트 | LEFT, RIGHT, MID, LEN, TRIM, SUBSTITUTE, TEXTJOIN | 7개 |
| 날짜/시간 | TODAY, NOW, YEAR, MONTH, DAY, DATEDIF | 6개 |
| 논리/에러 처리 | AND, OR, IFERROR | 3개 |
이 글에 나오는 모든 수식은 그대로 복사해서 엑셀에 붙여넣기 하면 바로 동작합니다. 셀 주소만 본인 데이터에 맞게 수정하세요.
수학/통계 함수 — 숫자 계산의 기본기
가장 기본이 되는 함수들입니다. 매출 합계, 평균 단가, 최대·최소값 등 숫자 데이터를 다루는 거의 모든 상황에서 사용합니다.
| 함수 | 문법 | 설명 | 실전 예제 |
|---|---|---|---|
| SUM | =SUM(범위) |
선택한 범위의 합계 | =SUM(B2:B100)→ B열 매출 합계 |
| AVERAGE | =AVERAGE(범위) |
선택한 범위의 평균 | =AVERAGE(C2:C50)→ 평균 단가 계산 |
| COUNT | =COUNT(범위) |
숫자가 있는 셀 개수 | =COUNT(A2:A100)→ 데이터 건수 파악 |
| COUNTA | =COUNTA(범위) |
비어있지 않은 셀 개수 | =COUNTA(D2:D100)→ 비고란 입력 건수 |
| MAX | =MAX(범위) |
최대값 | =MAX(B2:B100)→ 최고 매출액 |
| MIN | =MIN(범위) |
최소값 | =MIN(B2:B100)→ 최저 매출액 |
| ROUND | =ROUND(숫자, 자릿수) |
반올림 | =ROUND(B2/C2, 1)→ 소수점 첫째 자리까지 반올림 |
COUNT는 숫자만 세고, COUNTA는 비어있지 않은 셀을 모두 셉니다. 텍스트가 섞인 데이터라면 COUNTA를 쓰세요.
ROUND 자릿수 이해하기
ROUND의 두 번째 인수(자릿수)가 헷갈리는 분이 많습니다.
| 수식 | 결과 | 설명 |
|---|---|---|
=ROUND(1234.567, 2) |
1234.57 | 소수점 둘째 자리 |
=ROUND(1234.567, 0) |
1235 | 일의 자리 |
=ROUND(1234.567, -2) |
1200 | 백의 자리 |
ROUNDUP(무조건 올림)과 ROUNDDOWN(무조건 내림)도 같은 문법으로 사용할 수 있습니다.
조건부 함수 — 조건에 따라 다르게 계산하기
실무에서 가장 자주 쓰이는 카테고리입니다. "서울 지점 매출만 합산", "80점 이상이면 합격" 같은 조건부 계산을 할 때 사용합니다.
IF — 조건 판단의 기본
| 함수 | 문법 | 실전 예제 |
|---|---|---|
| IF | =IF(조건, 참, 거짓) |
=IF(C2>=80, "합격", "불합격")→ 점수가 80 이상이면 "합격", 아니면 "불합격" |
| IFS | =IFS(조건1, 값1, 조건2, 값2, ...) |
=IFS(C2>=90, "A", C2>=80, "B", C2>=70, "C", TRUE, "D")→ 점수 구간별 등급 부여 |
SUMIF / SUMIFS — 조건부 합계
| 함수 | 문법 | 실전 예제 |
|---|---|---|
| SUMIF | =SUMIF(조건범위, 조건, 합계범위) |
=SUMIF(A2:A100, "서울", C2:C100)→ 지역이 "서울"인 행의 매출 합계 |
| SUMIFS | =SUMIFS(합계범위, 조건범위1, 조건1, ...) |
=SUMIFS(C2:C100, A2:A100, "서울", B2:B100, ">="&DATE(2026,1,1))→ 서울 + 2026년 이후 매출 합계 |
SUMIF는 조건 1개, SUMIFS는 조건 여러 개입니다. 이름이 비슷해서 헷갈리기 쉬우니 주의하세요. SUMIFS의 범위·조건 순서도 SUMIF와 다릅니다.
COUNTIF / COUNTIFS — 조건부 개수
| 함수 | 문법 | 실전 예제 |
|---|---|---|
| COUNTIF | =COUNTIF(범위, 조건) |
=COUNTIF(D2:D100, "완료")→ 상태가 "완료"인 건수 |
| COUNTIFS | =COUNTIFS(범위1, 조건1, 범위2, 조건2) |
=COUNTIFS(A2:A100, "서울", D2:D100, "완료")→ 서울 + 완료된 건수 |
와일드카드 팁: 조건에 *(아무 문자)와 ?(한 글자)를 사용할 수 있습니다. 예를 들어 =COUNTIF(A:A, "김*")은 김으로 시작하는 모든 이름을 셉니다.
찾기/참조 함수 — 데이터를 자동으로 끌어오기
다른 시트나 표에서 원하는 데이터를 자동으로 가져올 때 사용합니다. 엑셀 함수 중 가장 많이 검색되는 카테고리이기도 합니다.
VLOOKUP — 가장 유명한 참조 함수
=VLOOKUP(찾을값, 범위, 열번호, [정확/근사])
=VLOOKUP(A2, 제품표!A:C, 3, FALSE)
→ A2의 제품코드를 '제품표' 시트에서 찾아서 3번째 열(가격)을 가져옵니다. 마지막 인수는 FALSE(정확히 일치)를 거의 항상 쓴다고 보면 됩니다.
VLOOKUP은 오른쪽에서 왼쪽으로 찾을 수 없다는 치명적 단점이 있습니다. Microsoft 365를 사용한다면 XLOOKUP으로 갈아타세요. 방향 제한 없이 훨씬 직관적입니다.
XLOOKUP — VLOOKUP의 완벽한 대체제
=XLOOKUP(찾을값, 찾을범위, 반환범위, [없을때], [일치모드])
=XLOOKUP(A2, 제품표!B:B, 제품표!D:D, "해당 없음")
→ A2 값을 제품표 B열에서 찾아 D열 값을 반환합니다. 못 찾으면 "해당 없음"을 표시합니다.
| 비교 항목 | VLOOKUP | XLOOKUP |
|---|---|---|
| 검색 방향 | 왼쪽→오른쪽만 | 양방향 |
| 열 번호 지정 | 숫자로 지정 (열 삽입 시 깨짐) | 범위로 지정 (안 깨짐) |
| 못 찾을 때 | #N/A 에러 | 기본값 지정 가능 |
| 지원 버전 | 모든 버전 | Excel 2021 / Microsoft 365 |
INDEX + MATCH — 구 버전 만능 조합
=INDEX(반환범위, MATCH(찾을값, 찾을범위, 0))
=INDEX(C2:C100, MATCH(F2, A2:A100, 0))
→ F2 값을 A열에서 찾아서, 같은 행의 C열 값을 반환합니다. XLOOKUP을 쓸 수 없는 환경에서 이 조합을 사용하세요.
INDEX+MATCH 조합은 XLOOKUP이 없는 구 버전 엑셀에서도 동작하는 만능 조합입니다.
텍스트 함수 — 문자열 자르고 붙이고 정리하기
이름에서 성만 추출하거나, 주민번호 뒷자리를 마스킹하거나, 이메일에서 도메인만 꺼내는 등 텍스트 데이터를 가공할 때 사용합니다.
| 함수 | 문법 | 실전 예제 |
|---|---|---|
| LEFT | =LEFT(텍스트, 글자수) |
=LEFT(A2, 3)→ "홍길동님" → "홍길동" |
| RIGHT | =RIGHT(텍스트, 글자수) |
=RIGHT(B2, 4)→ "010-1234-5678" → "5678" |
| MID | =MID(텍스트, 시작, 글자수) |
=MID(A2, 8, 1)→ 주민번호에서 성별 코드 추출 |
| LEN | =LEN(텍스트) |
=LEN(A2)→ 글자수 세기 (공백 포함) |
| TRIM | =TRIM(텍스트) |
=TRIM(A2)→ 앞뒤 공백, 단어 사이 중복 공백 제거 |
| SUBSTITUTE | =SUBSTITUTE(텍스트, 찾을텍스트, 바꿀텍스트) |
=SUBSTITUTE(A2, "-", "")→ 전화번호에서 하이픈 제거 |
| TEXTJOIN | =TEXTJOIN(구분자, 빈칸무시, 범위) |
=TEXTJOIN(", ", TRUE, A2:A10)→ 여러 셀을 쉼표로 합치기 |
CONCATENATE 대신 TEXTJOIN을 쓰면 구분자를 한 번만 지정하면 됩니다. 여러 셀을 합칠 때 훨씬 편합니다.
실전: 이메일에서 도메인 추출하기
=MID(A2, FIND("@", A2)+1, LEN(A2)-FIND("@", A2))
→ "hong@company.com" → "company.com"
실전: 주민번호 뒷자리 마스킹
=LEFT(A2, 8) & "******"
→ "900101-1234567" → "900101-1******"
날짜/시간 함수 — 날짜 계산 자동화
근속연수 계산, 계약 만료일 알림, D-Day 카운트다운 등 날짜 관련 업무에서 빠지지 않는 함수들입니다.
| 함수 | 문법 | 실전 예제 |
|---|---|---|
| TODAY | =TODAY() |
오늘 날짜 (파일 열 때마다 자동 갱신) |
| NOW | =NOW() |
현재 날짜 + 시간 |
| YEAR | =YEAR(날짜) |
=YEAR(A2) → 2026 |
| MONTH | =MONTH(날짜) |
=MONTH(A2) → 3 |
| DAY | =DAY(날짜) |
=DAY(A2) → 20 |
| DATEDIF | =DATEDIF(시작일, 종료일, 단위) |
=DATEDIF(B2, TODAY(), "Y")→ 입사일부터 오늘까지 근속연수 |
DATEDIF는 엑셀 공식 문서에 없는 숨겨진 함수입니다. 자동완성이 안 되지만 정상 동작하며, 두 날짜 사이의 년/월/일 차이를 구할 때 가장 편합니다.
DATEDIF 단위 정리
| 단위 | 의미 | 예시 결과 |
|---|---|---|
"Y" |
완전한 연수 | 3 (3년) |
"M" |
완전한 개월수 | 38 (38개월) |
"D" |
일수 | 1157 (1157일) |
"YM" |
연수 빼고 남은 개월 | 2 (3년 2개월의 2) |
"MD" |
개월 빼고 남은 일수 | 15 (15일) |
실전: 만 나이 계산
=DATEDIF(B2, TODAY(), "Y")
→ 생년월일(B2)부터 오늘까지의 완전한 연수 = 만 나이
실전: D-Day 카운트다운
=B2-TODAY()
→ 목표일(B2)까지 남은 일수를 자동 계산합니다. 셀 서식을 '숫자'로 바꾸면 일수로 표시됩니다.
논리/에러 처리 함수 — 깔끔한 결과 만들기
여러 조건을 동시에 판단하거나, 에러가 뜨는 수식을 깔끔하게 처리할 때 사용합니다. 특히 IFERROR는 VLOOKUP과 항상 세트라고 생각하면 됩니다.
| 함수 | 문법 | 실전 예제 |
|---|---|---|
| AND | =AND(조건1, 조건2, ...) |
=IF(AND(B2>=80, C2>=80), "합격", "불합격")→ 필기 AND 실기 모두 80점 이상이면 합격 |
| OR | =OR(조건1, 조건2, ...) |
=IF(OR(A2="VIP", B2>=1000000), "할인 대상", "일반")→ VIP이거나 구매액 100만 원 이상이면 할인 |
| IFERROR | =IFERROR(수식, 에러시값) |
=IFERROR(VLOOKUP(A2, 표, 3, FALSE), "미등록")→ VLOOKUP 결과가 에러면 "미등록" 표시 |
VLOOKUP이나 INDEX+MATCH를 쓸 때 IFERROR로 감싸는 습관을 들이세요. 찾는 값이 없을 때 #N/A 대신 원하는 메시지를 보여줄 수 있습니다.
실전: 복합 조건 판단
=IF(AND(YEAR(B2)=2026, C2>=500000), "2026 우수고객", "해당없음")
→ 거래일이 2026년이면서 거래액이 50만 원 이상인 고객을 찾습니다.
실전 수식 조합 TOP 5 — 바로 복사해서 쓰세요
지금까지 배운 함수들을 조합하면 훨씬 강력한 수식을 만들 수 있습니다. 실무에서 가장 많이 쓰이는 조합 5가지를 정리했습니다.
아래 수식들은 실제 회사 업무에서 가장 많이 쓰이는 조합입니다. 셀 주소만 바꾸면 바로 사용할 수 있습니다.
1. 중복 데이터 찾기
=IF(COUNTIF(A:A, A2)>1, "중복", "")
→ A열에서 같은 값이 2개 이상이면 "중복"을 표시합니다. 거래처 코드, 사원번호 등의 중복을 체크할 때 유용합니다.
2. VLOOKUP + IFERROR + 다른 시트 참조
=IFERROR(VLOOKUP(A2, 단가표!A:C, 3, FALSE), 0) * B2
→ 제품코드로 단가를 찾아서 수량을 곱합니다. 단가를 못 찾으면 0으로 처리해서 에러를 방지합니다.
3. 구간별 등급 판정 (IFS)
=IFS(C2>=90, "S", C2>=80, "A", C2>=70, "B", C2>=60, "C", TRUE, "D")
→ 점수 구간에 따라 등급을 자동 부여합니다. 마지막 TRUE는 "그 외 모든 경우"를 의미합니다.
4. 조건부 합계 + 백분율 계산
=ROUND(SUMIF(A:A, "서울", C:C) / SUM(C:C) * 100, 1) & "%"
→ 서울 지점 매출이 전체 매출에서 차지하는 비율(%)을 구합니다.
5. 날짜 기반 자동 상태 표시
=IF(B2<TODAY(), "만료", IF(B2-TODAY()<=30, "곧 만료", "유효"))
→ 계약 만료일(B2)이 지났으면 "만료", 30일 이내면 "곧 만료", 아니면 "유효"를 표시합니다. 계약 관리, 인증서 만료 체크에 딱 맞습니다.
함수 입력이 빨라지는 단축키 5개
함수를 아는 것만큼 중요한 게 빠르게 입력하는 것입니다. 이 단축키 5개만 익히면 수식 작성 속도가 확 달라집니다.
| 단축키 | 기능 | 설명 |
|---|---|---|
| Alt + = | 자동 SUM | 선택한 범위의 합계를 한 번에 입력합니다. 가장 많이 쓰이는 단축키입니다. |
| F2 | 셀 편집 모드 | 셀을 더블클릭하지 않고 바로 수식을 편집할 수 있습니다. |
| F4 | 절대참조 전환 | 셀 주소를 선택한 상태에서 누르면 A1 → $A$1 → A$1 → $A1 순으로 전환됩니다. |
| Tab | 함수 자동완성 | =VL까지 입력하면 자동완성 목록이 뜨는데, Tab을 누르면 선택됩니다. |
| Ctrl + ` | 수식 보기 토글 | 셀에 입력된 수식을 결과값 대신 수식 그대로 보여줍니다. 수식 검증할 때 유용합니다. |
특히 Alt + =는 범위를 선택하고 누르기만 하면 합계가 자동으로 입력되므로, SUM 함수를 직접 타이핑할 필요가 없습니다.
자주 묻는 질문 (FAQ)
Q. VLOOKUP과 XLOOKUP 중 어떤 걸 써야 하나요?
Microsoft 365나 Excel 2021 이상이라면 XLOOKUP을 쓰세요. 방향 제한이 없고, 별도의 열 번호 지정이 필요 없어 훨씬 직관적입니다. 구 버전 엑셀(2019 이하)이라면 VLOOKUP이나 INDEX+MATCH 조합을 사용하세요.
Q. 엑셀 함수가 #NAME? 에러를 보여줘요.
함수 이름을 잘못 입력했거나, 해당 버전에서 지원하지 않는 함수일 수 있습니다. XLOOKUP, IFS, TEXTJOIN 등은 Excel 2019 이상 또는 Microsoft 365에서만 사용 가능합니다.
Q. 함수 안에 함수를 넣을 수 있나요? (중첩 함수)
네, 가능합니다. 예를 들어 =IFERROR(VLOOKUP(...), "없음")처럼 함수 안에 함수를 넣는 것을 중첩(Nesting)이라 합니다. 최대 64단계까지 중첩할 수 있지만, 3~4단계를 넘으면 가독성이 떨어지니 나눠서 쓰는 것을 추천합니다.
Q. 수식을 입력했는데 텍스트로 보여요.
셀 서식이 '텍스트'로 설정되어 있을 가능성이 높습니다. 셀을 선택하고 Ctrl+1 → 표시 형식을 '일반'으로 바꾼 뒤, 셀을 더블클릭(F2)하고 Enter를 다시 누르세요.
Q. 절대참조($)는 언제 써야 하나요?
수식을 다른 셀에 복사할 때 특정 셀 주소가 바뀌면 안 되는 경우에 사용합니다. 예를 들어 세율표의 위치는 고정해야 하므로 $B$2처럼 $를 붙입니다. F4 키를 누르면 절대참조/혼합참조/상대참조를 빠르게 전환할 수 있습니다.
