엑셀 함수 정리, 실무에서 진짜 쓰는 10개만 골랐어요
![]()
안녕하세요, 깅글렛이에요.
엑셀에는 함수가 500개도 넘게 있는데, 사무직이 매일 손대는 건 사실 10개 안팎이거든요. 저도 처음엔 함수 이름만 잔뜩 외우려다 지쳤는데, 실무에서 반복해 쓰다 보니 손에 남는 게 딱 이 정도더라고요. 그래서 이번엔 “이거 하나만 익히면 오늘 야근 하나 줄겠다” 싶은 함수 10개를, 언제 쓰는지·어떻게 쓰는지·초보가 자주 걸리는 에러까지 묶어서 정리해봤어요.
VLOOKUP도 아직 손에 안 익은 분 기준으로 최대한 눈높이 낮춰 풀 테니, 하나씩 따라 쳐보시면 돼요.
500개 중에 왜 하필 이 10개일까요
먼저 결론부터요. 실무에서 몸값 하는 함수는 IF, SUMIF/SUMIFS, COUNTIF/COUNTIFS, VLOOKUP, XLOOKUP, IFERROR, TEXT, LEFT/MID/RIGHT, TRIM, TODAY/NETWORKDAYS 이 10묶음이에요. 취합하고, 정산하고, 보고서 만드는 일에 이 열 개가 계속 돌아가거든요.
이건 제 감으로만 고른 게 아니에요. 해외 실무자들이 모이는 레딧(Reddit)의 엑셀·회계·재무·공급망 게시판에서도 “새로 온 직원이 뭐부터 배워야 하냐”는 질문에 매번 비슷한 답이 올라와요. SUMIFS·COUNTIFS 같은 조건 집계, VLOOKUP·XLOOKUP 같은 조회, LEFT·MID·RIGHT 같은 글자 자르기, 그리고 의외로 TRIM 같은 데이터 청소 함수요. 한 실무자는 “TRIM이나 CONCAT처럼 데이터 정리하는 함수가 사실 제일 값지다”고 하더라고요.
그래서 이 글은 함수 사전이 아니라, 상황별 큐레이션이에요. “이 업무에서 이 함수” 식으로 붙여서 볼게요. 그리고 남들 정리글에 잘 없는 걸 하나씩 더 얹었어요. 함수마다 초보가 제일 많이 걸리는 에러 하나랑, 내 회사 엑셀에서 되는지 안 되는지 버전 표시요. 이 둘이 오늘 글의 무기예요.

조건에 따라 값을 바꾸는 IF, 여기서 다 시작돼요
가장 먼저 IF예요. “70점 이상이면 합격, 아니면 불합격”처럼 조건을 걸어 결과를 다르게 표시할 때 쓰는데, 사실 나중 나올 함수들 논리가 전부 여기서 갈라져 나와요.
구문은 이렇게 생겼어요. =IF(조건식, 참일_때_값, 거짓일_때_값). 조건이 맞으면 두 번째 값을, 틀리면 세 번째 값을 넣어주는 거예요. 예를 들어 판매 실적표에서 목표 달성 여부를 표시한다면 =IF(B2>=1000000, "달성", "미달") 이렇게요. B2 셀이 100만 이상이면 “달성”, 아니면 “미달”이 뜨는 거죠.
초보가 여기서 제일 많이 걸리는 건 글자 결과를 큰따옴표로 안 감싸는 것이에요. =IF(B2>=1000000, 달성, 미달)처럼 따옴표 없이 쓰면 #NAME? 오류가 나요. 엑셀이 “달성”을 함수 이름인가 하고 헷갈리거든요. 문자는 반드시 "달성"처럼 큰따옴표로 감싸세요. IF는 2007 이하 옛날 버전 포함 전 버전에서 다 돼요.
조건이 두 갈래가 아니라 서너 갈래로 갈리면 IF를 여러 겹 겹쳐 쓰는 대신 IFS가 편해요. 다만 IFS는 뒤에서도 말하겠지만 Excel 2019 이상이나 Microsoft 365에서만 돌아가니, 회사 엑셀이 그보다 옛날이면 안 나온다는 점만 기억해두세요.

조건에 맞는 값만 더하는 SUMIF, 순서 한 끗이 승부예요
정산·집계의 핵심은 SUMIF랑 SUMIFS예요. “영업1팀 매출만 합산”, “3월 지출만 합산”처럼 조건에 맞는 셀만 골라서 더할 때 써요. 조건이 하나면 SUMIF, 두 개 이상이면 SUMIFS고요.
문제는 이 둘의 인수 순서가 서로 반대라는 점이에요. 이게 초보가 두 번째로 많이 틀리는 지점이에요.
- SUMIF는 더할 범위(합계범위)가 맨 뒤예요.
=SUMIF(조건범위, 조건, [합계범위]) - SUMIFS는 더할 범위가 맨 앞이에요.
=SUMIFS(합계범위, 조건범위1, 조건1, ...)
실제로 부서별 합계를 낸다고 하면 이런 식이에요. 조건 하나면 =SUMIF(B:B, "영업1팀", D:D) — B열이 “영업1팀”인 행의 D열 금액을 더해요. 조건이 둘이면 =SUMIFS(D:D, B:B, "영업1팀", C:C, "3월") — 영업1팀이면서 3월인 금액만 더하고요. 여기서 D열이 맨 앞으로 자리를 옮긴 게 보이시죠?
가장 흔한 사고가 바로 이거예요. SUMIFS를 SUMIF 순서로 착각해서 합계범위를 맨 뒤에 두는 것. =SUMIFS(B:B, "영업1팀", D:D)처럼 쓰면 #VALUE!가 뜨거나 엉뚱한 값이 나와요. SUMIFS는 더할 범위가 항상 첫 번째라고 통째로 외우시는 게 편해요. 저는 아예 조건이 하나여도 SUMIFS로 통일해서 써요. 나중에 조건을 하나 더 붙일 때 순서를 다시 안 헷갈리거든요. 둘 다 전 버전에서 돼요.
✍️ 예전에 팀별 정산표를 넘겨받았는데 합계가 자꾸 0으로 뜨더라고요. 한참 헤매다 보니 SUMIFS 범위를 SUMIF 순서로 넣어놨던 거였어요. 그때부터 “더할 걸 맨 앞에” 하고 입으로 중얼거리면서 쳐요.

개수를 세는 COUNTIF, 더하기 대신 세기예요
COUNTIF·COUNTIFS는 SUMIF랑 사용법이 똑같은데 ‘더하기’ 대신 ’세기’를 해요. “미제출자 몇 명이지?”, “합격 몇 건이지?“처럼 조건에 맞는 셀의 개수가 궁금할 때 쓰는 거예요.
구문도 SUMIF랑 닮았어요. =COUNTIF(조건범위, 조건), 조건이 여러 개면 =COUNTIFS(조건범위1, 조건1, ...). 제출 현황 표에서 =COUNTIF(C:C, "제출")이면 C열에서 “제출”인 셀 개수를 세요. 재밌는 건 아닌 것도 셀 수 있다는 점이에요. =COUNTIF(C:C, "<>제출")이라고 쓰면 “제출”이 아닌 셀, 그러니까 미제출자를 세줘요. 여기서 <>는 ’같지 않음’이라는 뜻의 기호예요.
흔한 에러는 부분 일치를 못 잡는 것이에요. “김”으로 시작하는 이름을 다 세고 싶어서 =COUNTIF(A:A, "김")이라고 하면, ‘김’ 딱 한 글자만 있는 셀만 세요. 이럴 땐 별표 기호(*)를 붙여서 =COUNTIF(A:A, "김*")이라고 하면 “김”으로 시작하는 모든 이름을 세줘요. 이 별표가 ’아무 글자나 와도 된다’는 만능 문자예요. COUNTIF·COUNTIFS도 전 버전에서 돼요.

다른 표에서 값을 끌어오는 VLOOKUP, 마지막 인수가 생명이에요
VLOOKUP은 실무에서 조회의 대명사예요. “제품코드로 단가 찾기”, “사번으로 이름 찾기”처럼 기준값 하나로 다른 표에서 원하는 값을 끌어올 때 써요. 아마 이 글에서 여러분이 제일 궁금해하던 함수일 거예요.
구문은 이렇게 생겼어요. =VLOOKUP(찾을값, 찾을범위, 가져올_열번호, [일치옵션]). 말로 풀면 “무엇을, 어디서, 몇 번째 열에서 가져올지, 그리고 정확히 찾을지”예요. 단가표가 A열=제품코드, B열=제품명, C열=단가로 돼 있다고 하면, 코드로 단가를 찾을 때 =VLOOKUP("P-102", A:C, 3, FALSE)라고 쳐요. “P-102”를 A열에서 찾아서, 같은 행의 3번째 열인 C열 단가를 가져오라는 뜻이에요.
여기서 네 번째 인수가 초보 1순위 함정이에요. 이걸 비우거나 TRUE로 두면 엑셀이 ‘근사값’ 모드로 바뀌어서 엉뚱한 값을 물어와요. 정확히 일치하는 값을 찾으려면 반드시 마지막에 **FALSE(또는 숫자 0)**를 넣어야 해요. 그리고 찾을값은 범위의 맨 왼쪽 열에 있어야 하고, 없으면 #N/A가 떠요.
한 가지 더요. 수식을 아래로 쭉 복사하면 찾을범위가 한 칸씩 밀리는데, 이걸 막으려면 $A$1:$C$100처럼 달러 기호($)로 범위를 고정해요. 셀 참조에 커서를 두고 F4 키를 누르면 $가 자동으로 붙어요. VLOOKUP도 전 버전에서 돼요.
![함수 카드 3/7 - VLOOKUP | 용도 “다른 표에서 값 조회”, 구문 =VLOOKUP(찾을값, 찾을범위, 열번호, [일치]), 예제 =VLOOKUP(“P-102”,A:C,3,FALSE) → “P-102의 단가”, 흔한 에러 “4번째 인수 FALSE 누락 → 엉뚱한 값”](/images/%EC%97%91%EC%85%80-%ED%95%A8%EC%88%98-10%EC%84%A0/body-5.webp)

회사 엑셀이 최신이면 XLOOKUP, 아니면 함정이에요
XLOOKUP은 쉽게 말하면 VLOOKUP의 업그레이드 판이에요. 같은 ’값 조회’인데 세 가지가 더 편해요. 왼쪽 방향으로도 찾을 수 있고, 별도 설정 없이도 기본이 정확 일치고, 못 찾았을 때 #N/A 대신 원하는 문구를 표시할 수 있어요.
구문은 =XLOOKUP(찾을값, 찾을범위, 반환범위, [못찾을때])예요. 사번으로 이름을 찾되 없으면 “미등록”이라고 표시하고 싶다면 =XLOOKUP(F2, A:A, B:B, "미등록") 이렇게요. F2 사번을 A열에서 찾아 B열 이름을 가져오고, 없으면 “미등록”이 뜨는 거예요. VLOOKUP처럼 근사값 함정도 없고 훨씬 깔끔하죠.
다만 여기 결정적인 함정이 있어요. XLOOKUP은 Microsoft 365, Excel 2021, Excel 2024에서만 돌아가고, Excel 2019나 2016 이하에는 아예 없어요. 옛날 버전에서 XLOOKUP을 치면 #NAME? 오류가 떠요. 회사 PC가 아직 2016~2019인 곳이 생각보다 많거든요. 그러니 XLOOKUP을 쓰기 전에 내 엑셀 버전부터 확인하고, 구버전이면 그냥 VLOOKUP을 쓰세요.
버전 확인은 간단해요. 엑셀 상단 메뉴에서 파일 > 계정에 들어가면 버전이 나와요. 거기에 “Microsoft 365”나 “2021/2024”라고 적혀 있으면 XLOOKUP을 쓸 수 있어요.

오류를 깔끔하게 덮는 IFERROR, 남용은 독이에요
보고서를 만들다 보면 VLOOKUP 결과에 #N/A나 #DIV/0! 같은 오류가 군데군데 떠서 표가 지저분해질 때가 있어요. 이걸 빈칸이나 “없음”으로 바꿔 깔끔하게 만들어주는 게 IFERROR예요.
구문은 =IFERROR(원래_수식, 오류일_때_값)이에요. 예를 들어 VLOOKUP이 값을 못 찾아 #N/A가 뜨면 빈칸으로 바꾸고 싶을 때 =IFERROR(VLOOKUP(F2, A:C, 3, FALSE), "")라고 감싸면 돼요. 못 찾으면 아무것도 안 보이게 빈칸(“”)이 뜨는 거예요.
그런데 이건 남용하면 오히려 독이에요. IFERROR가 모든 오류를 다 덮어버리거든요. 수식 자체가 틀려서 나는 오류, 예를 들어 열 번호를 잘못 지정한 실수까지 빈칸으로 감춰버려요. 그러면 진짜 버그가 어디 숨었는지 못 찾게 돼요. 그러니 수식이 확실히 맞다는 걸 확인한 다음에만 씌우고, 수식을 손보는 중에는 벗겨두는 게 안전해요. IFERROR는 2007 이상 전 버전에서 돼요.

숫자와 날짜를 원하는 글자로, TEXT로 서식을 통일해요
TEXT는 숫자나 날짜를 내가 원하는 형식의 글자로 바꿔주는 함수예요. 날짜를 “2026-07”처럼, 금액을 “1,234,000원”처럼 다듬을 때 써요. 특히 다른 글자랑 이어 붙일 때 아주 유용해요.
구문은 =TEXT(값, "서식코드")예요. 서식코드 자리에 원하는 모양을 적어주는 거죠. 오늘 날짜를 “2026-07”로 만들고 싶으면 =TEXT(TODAY(), "yyyy-mm"), 합계 금액에 천 단위 콤마를 붙이고 “원”까지 이어 붙이고 싶으면 ="합계 "&TEXT(D10, "#,##0")&"원"이라고 쓰면 “합계 1,234,000원”이 나와요. 여기서 &가 글자와 글자를 이어 붙이는 기호예요.
흔한 실수는 서식 코드를 큰따옴표로 안 감싸는 것이에요. "yyyy-mm"처럼 반드시 따옴표 안에 넣어야 해요. 참고로 서식 코드는 대소문자를 구분하지 않아서 yyyy나 YYYY나 똑같이 작동해요. TEXT도 전 버전에서 돼요.

글자를 잘라내는 LEFT·MID·RIGHT, 코드 분해에 딱이에요
주민번호 앞 6자리만 뽑거나, 제품코드 중간 몇 자리만 떼어내야 할 때가 있죠. 그럴 때 쓰는 게 LEFT·MID·RIGHT예요. 이름 그대로 왼쪽·가운데·오른쪽에서 글자를 잘라내는 함수예요.
=LEFT(텍스트, 글자수)→ 왼쪽에서 N글자=RIGHT(텍스트, 글자수)→ 오른쪽에서 N글자=MID(텍스트, 시작위치, 글자수)→ 지정한 위치부터 N글자
예를 들어 A2 셀에 “901215-1234567” 같은 가상의 주민번호가 있다고 하면, =LEFT(A2, 6)은 왼쪽 6글자 “901215”를 가져와요. 생년월일 6자리만 뽑는 거죠. =MID(A2, 8, 1)은 8번째 글자 하나만 떼서 성별 구분 숫자를 가져오고요.
흔한 에러는 숫자로 저장된 값에 쓸 때 원하는 자리가 안 잘리는 거예요. 엑셀이 숫자 서식을 무시하거든요. 코드나 번호는 애초에 ’텍스트 서식’으로 두거나, 잘라낸 결과가 다시 숫자여야 한다면 VALUE()로 숫자 변환을 한 번 더 해주면 돼요. LEFT·MID·RIGHT는 전 버전에서 돼요.

눈에 안 보이는 공백을 없애는 TRIM, 조회 실패의 숨은 범인이에요
TRIM은 잘 안 알려졌는데 실무에서 은근히 자주 구해주는 함수예요. 웹이나 다른 시스템에서 데이터를 복사해오면 글자 앞뒤에 눈에 안 보이는 공백이 붙어 있는 경우가 많거든요. 이 공백 때문에 VLOOKUP이 멀쩡한 값을 못 찾고 #N/A를 뱉을 때가 있어요. 아까 그 레딧 실무자들도 “데이터 정리에 없어서는 안 될 함수”로 TRIM을 꼽더라고요.
구문은 아주 단순해요. =TRIM(정리할_셀). =TRIM(" 영업1팀 ")이라고 하면 앞뒤 공백이 사라진 “영업1팀”이 나와요. 단어 사이에 공백이 여러 개 겹쳐 있어도 하나로 정리해줘요.
포인트는 여기예요. VLOOKUP이 이유 없이 #N/A를 낸다면, 원인의 상당수가 이 보이지 않는 공백이에요. 찾을값과 원본을 각각 TRIM으로 감싸주면 조회가 되는 경우가 많아요. 다만 웹에서 딸려온 ‘비분리 공백’(char 160이라는 특수한 공백)은 TRIM으로도 안 지워져서, 그럴 땐 =TRIM(SUBSTITUTE(A2, CHAR(160), " "))처럼 한 겹 더 씌워야 할 수도 있어요. TRIM도 전 버전에서 돼요.
✍️ 저는 시스템에서 내려받은 명단을 조회할 때 습관처럼 TRIM부터 한 번 돌려요. 예전에 이름이 분명 있는데 자꾸 안 찾아져서 데이터가 잘못됐나 의심했는데, 알고 보니 이름 뒤에 공백 한 칸이 숨어 있던 거였거든요.

날짜와 근무일을 계산하는 TODAY·NETWORKDAYS, 일정 관리에 써요
마지막은 날짜 계산이에요. “오늘까지 며칠 남았나”, “출장 근무일수는 주말 빼고 며칠이지” 같은 걸 계산할 때 TODAY랑 NETWORKDAYS를 써요.
TODAY는 그냥 =TODAY()라고만 치면 오늘 날짜가 나와요. 인수가 하나도 없고, 파일을 열 때마다 알아서 오늘 날짜로 갱신돼요. NETWORKDAYS는 =NETWORKDAYS(시작일, 종료일, [공휴일범위]) 형태로, 두 날짜 사이의 근무일수를 세는데 주말(토·일)을 자동으로 빼줘요. 출장 근무일수를 낼 때 =NETWORKDAYS(B2, C2)라고 하면 주말을 뺀 날수가 나오고, =NETWORKDAYS(B2, C2, F2:F5)처럼 F2:F5에 공휴일 날짜를 적어두면 공휴일까지 빼줘요.
흔한 에러는 날짜가 텍스트로 저장돼 있을 때예요. 이러면 #VALUE!가 뜨거나 계산이 안 돼요. 셀 서식이 ’날짜’가 맞는지 확인하세요. 셀 안에서 숫자가 오른쪽으로 붙어 있으면 대개 날짜, 왼쪽으로 붙어 있으면 텍스트예요. 그리고 NETWORKDAYS는 토·일을 주말로 고정하니, 주말이 다른 회사라면 NETWORKDAYS.INTL을 써야 해요. TODAY와 NETWORKDAYS 모두 전 버전에서 돼요.
![함수 카드 7/7 - TODAY·NETWORKDAYS | 용도 “날짜·근무일 계산”, 구문 =NETWORKDAYS(시작일, 종료일, [공휴일]), 예제 =NETWORKDAYS(B2,C2) → “주말 뺀 근무일수”, 흔한 에러 “날짜가 텍스트면 #VALUE!”](/images/%EC%97%91%EC%85%80-%ED%95%A8%EC%88%98-10%EC%84%A0/body-10.webp)
함수 3개는 회사 엑셀 버전부터 확인하세요
여기까지 오면서 XLOOKUP에서 한 번 짚었는데, 버전 얘기를 한 번 더 모아서 정리할게요. 함수를 아무리 잘 써도 내 회사 엑셀에 그 함수 자체가 없으면 #NAME?만 떠요. 특히 조심할 건 세 개예요.
XLOOKUP, IFS, TEXTJOIN. 이 셋은 비교적 최근에 추가된 함수라 옛날 버전엔 없어요. XLOOKUP은 Microsoft 365·2021·2024에만 있고, IFS와 TEXTJOIN은 2019 이상이나 Microsoft 365에서 돼요. 회사 PC가 2016 이하면 이 셋은 아예 안 나오니, 그럴 땐 XLOOKUP 대신 VLOOKUP, IFS 대신 IF 겹치기로 대체하면 돼요. 반대로 오늘 정리한 나머지 함수들(IF, SUMIF/SUMIFS, COUNTIF/COUNTIFS, VLOOKUP, IFERROR, TEXT, LEFT/MID/RIGHT, TRIM, TODAY/NETWORKDAYS)은 전부 옛날 버전에서도 다 돌아가니 안심하고 쓰셔도 돼요.

오류 메시지도 읽을 줄 알면 반은 해결돼요
함수를 쓰다 보면 빨간 오류가 뜨는데, 이게 사실 엑셀이 “여기가 문제야” 하고 알려주는 신호예요. 뜻만 알면 절반은 해결돼요. 초보가 자주 만나는 것만 모아봤어요.
#N/A는 값을 못 찾았다는 뜻이에요. VLOOKUP·XLOOKUP이 찾을값을 못 찾을 때 뜨는데, 공백이나 텍스트로 저장된 숫자, 오타가 원인인 경우가 많아요.#NAME?는 이름을 모르겠다는 뜻이에요. 함수명 오타이거나, 구버전에 없는 함수(XLOOKUP·IFS·TEXTJOIN)를 썼거나, 글자에 따옴표를 안 붙였을 때 떠요.#VALUE!는 값의 종류가 안 맞다는 뜻이에요. 숫자 자리에 글자가 들어갔거나, 날짜가 텍스트로 저장됐거나, 인수 순서가 뒤바뀌었을 때 나와요.#DIV/0!는 0으로 나눴다는 뜻이고,#REF!는 참조하던 셀을 삭제했을 때,#####는 오류가 아니라 그냥 열 너비가 좁다는 신호예요. 열을 넓히면 사라져요.
특히 #N/A랑 #NAME?는 오늘 다룬 함수들이랑 직결돼요. #N/A가 뜨면 공백부터 TRIM으로 지워보고, #NAME?가 뜨면 함수명 오타나 버전부터 의심하세요.

저장해두고 필요할 때 꺼내 쓰는 함수 10선 정리표
오늘 다룬 10묶음을 한 장으로 모았어요. 언제 쓰는지, 흔한 에러가 뭔지만 눈에 익혀두면, 실제로 쓸 때 이 표 하나만 다시 열어봐도 돼요.

깅글렛 한줄평
💬 함수는 500개 다 외우는 게 아니라, 내 업무에 걸리는 10개를 손에 붙이는 거예요. 오늘 이 중에 딱 하나, 지금 하는 일에 제일 가까운 함수부터 한 번 쳐보세요. 그거면 시작이에요.
마무리
저도 엑셀 함수를 한 번에 다 익힌 게 아니라, 매번 막히는 일 하나씩 함수로 풀다 보니 여기까지 왔어요. 특히 SUMIF 순서랑 XLOOKUP 버전 두 개는 저도 한참 헤맸던 부분이라, 여러분은 덜 헤매시라고 콕콕 짚어봤어요.
※ 본 글은 2026년 7월 기준 Microsoft Excel 공식 함수 정보를 바탕으로 작성됐어요. 함수 구문·지원 버전은 이후 업데이트로 바뀔 수 있어요.