수식 입력 전에 알아둘 것
- 수식은
=로 시작합니다. - 연속 범위는
B2:B10, 떨어진 셀은B2,D2,F2처럼 씁니다. - 수식을 아래로 복사할 때 기준 셀이 움직이면 상대참조,
$A$1처럼 고정하면 절대참조입니다. - 표 범위를 지정할 때 제목 행과 합계 행을 포함할지 먼저 확인합니다.
- 예제의 쉼표는 환경에 따라 세미콜론으로 바꿔야 할 수 있습니다.
기본 계산 함수
| 함수 | 용도 | 예제 |
|---|---|---|
| SUM | 합계 | =SUM(B2:B10) |
| AVERAGE | 평균 | =AVERAGE(B2:B10) |
| MAX | 최댓값 | =MAX(B2:B10) |
| MIN | 최솟값 | =MIN(B2:B10) |
| COUNT | 숫자가 있는 셀 개수 | =COUNT(B2:B100) |
| COUNTA | 비어 있지 않은 셀 개수 | =COUNTA(A2:A100) |
| ROUND | 지정 자릿수 반올림 | =ROUND(B2,0) |
| ROUNDUP | 지정 자릿수 올림 | =ROUNDUP(B2,0) |
| ROUNDDOWN | 지정 자릿수 버림 | =ROUNDDOWN(B2,0) |
백분율 셀은 화면에 보이는 값과 실제 저장 값이 다를 수 있습니다. 반올림 결과를 다른 계산에 사용해야 한다면 셀 서식만 줄이지 말고 ROUND 계열 함수로 실제 값을 정리하세요.
조건·집계 함수
| 함수 | 용도 | 예제 |
|---|---|---|
| IF | 조건에 따라 결과 분기 | =IF(C2>=60,"통과","재검토") |
| AND | 모든 조건이 참인지 확인 | =AND(B2>=60,C2="출석") |
| OR | 하나라도 참인지 확인 | =OR(B2="긴급",C2="긴급") |
| COUNTIF | 한 조건에 맞는 개수 | =COUNTIF(A2:A100,"서울") |
| COUNTIFS | 여러 조건에 맞는 개수 | =COUNTIFS(A2:A100,"서울",C2:C100,"완료") |
| SUMIF | 한 조건에 맞는 합계 | =SUMIF(A2:A100,"서울",D2:D100) |
| SUMIFS | 여러 조건에 맞는 합계 | =SUMIFS(D2:D100,A2:A100,"서울",C2:C100,"완료") |
| IFERROR | 오류일 때 대체 값 표시 | =IFERROR(A2/B2,0) |
SUMIFS는 합계를 낼 범위가 첫 번째이고 그 뒤에 조건 범위와 조건이 반복됩니다. COUNTIFS는 합계 범위 없이 조건 범위와 조건만 씁니다.
조회·참조 함수
| 함수 | 용도 | 예제 |
|---|---|---|
| XLOOKUP | 키를 찾아 대응 값 반환 | =XLOOKUP(F2,A2:A100,B2:B100,"없음") |
| VLOOKUP | 첫 열에서 찾아 오른쪽 값 반환 | =VLOOKUP(F2,A2:C100,3,FALSE) |
| INDEX | 행·열 위치의 값 반환 | =INDEX(C2:C100,5) |
| MATCH | 값의 상대 위치 찾기 | =MATCH(F2,A2:A100,0) |
정확히 일치하는 코드를 찾을 때 VLOOKUP의 마지막 인수는 FALSE로 지정하세요. 생략하거나 TRUE를 사용하면 정렬 상태에 따라 예상과 다른 근삿값이 나올 수 있습니다.
XLOOKUP은 Excel 2016·2019에서 사용할 수 없습니다. 구버전 사용자에게 전달할 파일이라면 저장 전에 상대방 버전에서 수식이 계산되는지 확인하세요.
텍스트 함수
| 함수 | 용도 | 예제 |
|---|---|---|
| LEFT | 왼쪽에서 문자 추출 | =LEFT(A2,3) |
| RIGHT | 오른쪽에서 문자 추출 | =RIGHT(A2,4) |
| MID | 중간의 문자 추출 | =MID(A2,4,2) |
| LEN | 문자 길이 | =LEN(A2) |
| TRIM | 불필요한 연속 공백 정리 | =TRIM(A2) |
| CONCAT | 여러 값을 이어 붙이기 | =CONCAT(A2,"-",B2) |
| TEXTJOIN | 구분자를 넣어 범위 결합 | =TEXTJOIN(", ",TRUE,A2:A10) |
| TEXT | 숫자·날짜 표시 형식 변환 | =TEXT(B2,"yyyy-mm-dd") |
TEXT 함수 결과는 숫자가 아니라 텍스트입니다. 이후 합계나 날짜 계산에 다시 써야 한다면 원본 숫자 셀은 남겨 두고 표시용 열에서만 사용하세요.
날짜·시간 함수
| 함수 | 용도 | 예제 |
|---|---|---|
| TODAY | 오늘 날짜 | =TODAY() |
| NOW | 현재 날짜와 시간 | =NOW() |
| DATE | 연·월·일로 날짜 만들기 | =DATE(2026,8,5) |
| YEAR | 날짜에서 연도 추출 | =YEAR(A2) |
| MONTH | 날짜에서 월 추출 | =MONTH(A2) |
| DAY | 날짜에서 일 추출 | =DAY(A2) |
TODAY와 NOW는 통합 문서를 다시 계산할 때 값이 바뀝니다. 작성일을 고정하려면 현재 날짜 단축키 Ctrl+;를 사용하세요.
최신 배열 함수
| 함수 | 용도 | 예제 |
|---|---|---|
| FILTER | 조건에 맞는 행만 반환 | =FILTER(A2:C100,C2:C100="완료","없음") |
| UNIQUE | 중복을 제거한 목록 반환 | =UNIQUE(A2:A100) |
| SORT | 범위를 정렬해 반환 | =SORT(A2:C100,2,-1) |
| VSTACK | 여러 범위를 세로로 결합 | =VSTACK(A2:C10,E2:G10) |
동적 배열 함수는 결과가 여러 셀로 자동 확장됩니다. 결과가 펼쳐질 영역에 값이나 병합 셀이 있으면 #SPILL! 오류가 생깁니다. VSTACK은 Microsoft 365와 Excel 2024 등 지원 버전에서만 사용할 수 있으므로 공유 대상의 버전을 확인하세요.
오류 코드 빠르게 확인하기
| 오류 | 먼저 볼 항목 |
|---|---|
#N/A | 조회값이 실제로 존재하는지, 공백·자료형이 같은지 |
#VALUE! | 숫자 자리에 텍스트가 들어갔는지 |
#DIV/0! | 나누는 값이 0 또는 빈 셀인지 |
#REF! | 참조하던 행·열·시트가 삭제됐는지 |
#NAME? | 함수 이름·따옴표·범위 이름 철자가 맞는지 |
#SPILL! | 동적 배열 결과 영역이 비어 있는지 |
IFERROR로 오류를 바로 숨기기 전에 수식 계산 단계와 참조 범위를 먼저 점검하세요. 원인을 해결한 뒤 사용자에게 빈칸이나 안내 문구를 보여 줄 필요가 있을 때 IFERROR를 적용하는 편이 안전합니다.