Editlab

엑셀 #NAME? 오류 원인과 해결법, 이름관리자에서 뭘 고칠까?

엑셀 #NAME? 오류

엑셀에서 수식을 넣자마자 셀에 #NAME?이 뜨는 상황은 거래처 보고서를 급하게 마감하는 직장인이라면 한 번쯔 겪어봤을 문제다. 이 글은 엑셀 2019부터 마이크로소프트 365까지 쓰는 사람이 엑셀 #NAME? 오류 코드를 보고 바로 원인을 찾아 고치도록 정리했다.

실제로 한 달 정산 시트에서 1,200행이 넘는 데이터에 XLOOKUP 수식을 복사해 넣었다가 열 전체가 한꺼번에 오류로 뒤덮인 경험이 있었는데, 알고 보니 원인은 수식 자체가 아니라 그 PC의 엑셀이 2016 버전이었기 때문이었다.

참고로 #REF!는 참조하던 셀이나 시트가 삭제됐을 때, #VALUE!는 숫자와 텍스트가 섞여 연산이 안 될 때 뜨는 오류라서 지금 다루는 오류와는 접근 방식이 다르다는 점도 구분해두면 좋다.

결론부터 말하면 엑셀 #NAME? 오류는 거의 다 함수 이름 오타, 텍스트에 큰따옴표 누락, 삭제된 이름(정의된 이름) 참조 중 하나다.

수식 탭의 이름 관리자와 함수 자동완성 목록만 확인해도 대부분 1분 안에 해결된다.

엑셀 #NAME? 오류, 왜 뜨고 뭐부터 확인해야 할까

엑셀 #NAME? 오류는 수식 안의 글자를 엑셀이 함수나 이름으로 인식하지 못했다는 뜻이다.

직접 VLOOKUP 수식을 XLOOKUP으로 바꿔 쓰다가 이 오류를 만난 적이 있는데, 알고 보니 회사 PC의 엑셀이 XLOOKUP을 지원하지 않는 구버전이었다. 함수 자체는 멀쩡해도 실행 환경이 그 함수를 모르면 똑같이 오류가 뜬다.

가장 먼저 확인할 네 가지는 다음과 같다.

  • 함수 이름 철자가 정확한가 (SUM을 SUMM으로 쓰는 식의 오타)
  • 텍스트 인수에 큰따옴표를 빠뜨리지 않았는가
  • 수식이 참조하는 이름(정의된 이름)이 지금도 통합 문서에 남아 있는가
  • 함수명 앞뒤나 괄호 안쪽에 불필요한 공백이 들어가지 않았는가 (예: = SUM (B2:B6)처럼 공백이 많으면 자동완성이 깨질 수 있다)

이 네 가지만 순서대로 짚어보면 원인의 대부분이 걸러진다. 아래 단계별 설명에서 각 증상에 맞는 구체적인 예시와 수정 전후 수식을 같이 확인해보자.

엑셀 #NAME? 오류 해결 방법, 순서대로 따라하기

1단계, 함수 이름 오타부터 확인하세요

셀을 클릭해 수식 입력줄에서 함수 이름을 다시 입력해본다.

함수 이름을 소문자로 치고 엔터를 눌렀을 때 자동으로 대문자로 바뀌지 않으면 엑셀이 그 이름을 모른다는 신호다. 수식을 입력하는 중 나오는 자동완성 목록에서 함수를 직접 선택하면 오타를 거의 막을 수 있다.

예를 들어 엑셀 2016에서 =XLOOKUP(A2,B:B,C:C)처럼 아직 지원하지 않는 함수를 치면 자동완성 목록 자체에 뜨지 않는다.

이럴 때는 Ctrl+~(수식 보기 모드)를 눌러 시트 전체 수식을 한눈에 비교하면 어느 셀에서 함수명이 잘못 들어갔는지 빠르게 찾을 수 있다.

2단계, 텍스트에 큰따옴표가 빠지지 않았나요

=COUNTIF(A2:A6,North)처럼 문자열에 큰따옴표가 없으면 #NAME? 오류가 난다.

=COUNTIF(A2:A6,”North”)처럼 텍스트를 큰따옴표로 감싸주면 바로 해결된다. 셀 참조가 아닌 글자를 수식에 직접 쓸 때는 항상 큰따옴표를 붙인다고 기억해두면 편하다.

콤마(,)와 세미콜론(;) 구분자가 섞여도 비슷한 오류가 날 수 있다. 윈도우의 국가 및 지역 설정이 한국이 아닌 PC에서 저장된 파일을 받으면 인수 구분자가 세미콜론으로 바뀌어 있어, 큰따옴표를 제대로 넣었는데도 오류가 나는 경우가 있으니 구분자도 함께 확인한다.

3단계, 삭제된 이름 참조는 아닌지 확인

리본 메뉴에서 수식 > 이름 관리자를 눌러 수식이 참조하는 이름이 목록에 남아 있는지 본다. 이름 관리자는 Ctrl+F3 단축키로도 바로 열 수 있다.

이름이 삭제됐다면 똑같은 이름으로 다시 만들거나, 수식에서 이름 대신 실제 셀 범위(예: B2:B20)로 바꿔 쓰면 된다. 이름 관리자 창의 필터 기능을 쓰면 오류가 있는 이름만 골라볼 수 있어 여러 시트를 뒤질 필요가 없다.

이름의 범위(Scope)가 ‘통합 문서 전체’가 아니라 특정 시트로 한정돼 있으면, 그 이름을 다른 시트에서 가져다 쓸 때도 같은 오류가 난다. 이름 관리자의 범위 열을 확인해 필요하면 통합 문서 전체 범위로 다시 만든다.

4단계, 범위 표기와 콜론을 다시 본다

=MIN(CC:C7)처럼 콜론이나 열 표기가 잘못돼도 오류가 난다.

범위를 드래그로 다시 선택해 수식에 넣으면 오타 없이 정확한 범위가 자동으로 들어간다.

열 머리글을 더블클릭해 복사하다가 CC처럼 같은 글자가 겹쳐 입력되는 실수가 흔한데, 범위를 직접 타이핑하기보다 마우스로 드래그해 선택하는 습관을 들이면 이런 오타를 원천적으로 막을 수 있다.

5단계, 함수가 지원되는 버전인지 확인하세요

파일 > 계정 > Excel 정보에서 빌드 번호를 확인한다. XLOOKUP, FILTER, UNIQUE 같은 동적 배열 함수와 LAMBDA는 마이크로소프트 365(또는 Excel 2021 이상)에서만 동작한다.

함수 지원 시작 버전
XLOOKUP, FILTER, UNIQUE, SORT Microsoft 365, Excel 2021
TEXTSPLIT, TEXTBEFORE, TEXTAFTER Microsoft 365 전용
LAMBDA, LET Microsoft 365 (LET은 Excel 2021부터)

엑셀 2019 이하에서는 이 함수들을 쓰면 무조건 #NAME? 오류가 난다. 365 사용자인데도 오류가 난다면 파일 > 계정 > 업데이트 옵션 > 지금 업데이트를 눌러 최신 빌드로 올려본다.

6단계, 매크로나 추가 기능으로 만든 사용자 정의 함수는 아닌지

VBA로 만든 사용자 정의 함수(UDF)나 추가 기능(Add-in)에 들어 있는 함수를 쓴 파일을 다른 PC에서 열면, 매크로가 차단된 상태에서는 엑셀이 그 함수 이름을 알아보지 못해 오류가 뜬다.

이런 파일은 확장자가 .xlsm인지 먼저 확인하고, 노란색 보안 경고 줄에서 콘텐츠 사용을 눌러 매크로를 허용한 뒤 다시 계산해본다. 추가 기능은 파일 > 옵션 > 추가 기능 하단에서 ‘관리: Excel 추가 기능’을 선택해 활성화 여부를 점검한다.

① 엑셀 #NAME? 오류 발생② 함수 이름 오타 확인③ 텍스트 큰따옴표 확인④ 이름 관리자에서 이름 확인⑤ 함수 지원 버전 확인해결 완료

그래도 안 고쳐진다면, 원인별 해결 표

아래 표에서 지금 수식과 가장 비슷한 증상을 찾아 해당 해결법부터 시도한다.

원인 증상 예시 해결 방법
함수명 오타 =SUMM(B2:B6) 함수명 재확인, 자동완성 목록에서 선택
텍스트에 큰따옴표 누락 =COUNTIF(A2:A6,North) “North”처럼 큰따옴표로 감싸기
삭제된 이름 참조 이름 삭제 후 수식은 그대로 이름 관리자에서 이름 재생성 또는 셀 범위로 교체
범위 표기 오류 =MIN(CC:C7) 범위를 드래그로 다시 선택
구버전에서 신규 함수 사용 엑셀 2019에서 XLOOKUP 사용 365로 업데이트 또는 VLOOKUP, INDEX/MATCH로 대체
추가 기능 비활성화 분석 도구 관련 함수 오류 파일 > 옵션 > 추가 기능에서 활성화 확인
매크로/추가 기능 함수 차단 .xlsm 파일을 매크로 차단 상태로 열었을 때 보안 경고에서 콘텐츠 사용 허용, 추가 기능 다시 로드
구분자 설정 차이 세미콜론(;) 지역에서 만든 파일을 콤마(,) 지역에서 열 때 국가 및 지역 설정 또는 수식 구분자 재설정

이름 관리자 활용법과 XLOOKUP 호환, 같이 알아두면 좋을까

엑셀 #NAME? 오류를 줄이려면 이름 관리자를 평소에 정리해두는 습관이 가장 효과적이다.

  • 이름 관리자에서 안 쓰는 이름은 주기적으로 삭제해 혼선을 줄인다
  • 다른 사람과 파일을 주고받을 때는 엑셀 버전을 먼저 맞춘다. 구버전에서 열면 XLOOKUP 등에 _xlfn. 접두사가 붙고 #NAME? 오류로 바뀐다
  • 추가 기능을 쓰는 함수는 파일 > 옵션 > 추가 기능에서 활성화 여부를 확인한다
  • 파일을 .xls(97-2003) 형식으로 저장하면 XLOOKUP, FILTER 같은 최신 함수가 텍스트로만 저장돼 다시 열었을 때 오류로 바뀐다. 최신 함수를 쓴다면 .xlsx나 .xlsm으로 저장한다
  • 구버전 사용자와 자주 파일을 주고받는다면 아래처럼 대체 수식을 미리 준비해두면 편하다
최신 함수 구버전 대체 수식
=XLOOKUP(A2,B:B,C:C) =INDEX(C:C,MATCH(A2,B:B,0))
=UNIQUE(A2:A100) 피벗 테이블 또는 ‘중복된 항목 제거’ 기능
=FILTER(A2:C100,B2:B100=”서울”) 자동 필터 또는 고급 필터

맥용 마이크로소프트 365 일부 빌드에서도 XLOOKUP, FILTER가 #NAME? 오류를 내는 사례가 온라인 포럼에 올라온 적이 있는데, 이런 경우는 오피스를 완전히 업데이트하고 재시작하는 것만으로 해결됐다는 보고가 많았다.

다만 정확한 원인은 환경마다 다를 수 있어 마이크로소프트 공식 지원 문서에서 한 번 더 확인하는 것이 안전하다.

엑셀 수식 오류 외에 프로그램 자체가 먹통이 되는 경우라면 윈도우 업데이트 오류 해결법을 같이 참고하면 도움이 된다. 문서에서 표 작업을 자주 한다면 한글 표 만들기 단축키 정리도 함께 봐두면 좋다.

엑셀 #NAME? 오류 자주 묻는 질문

Q. IFERROR로 #NAME? 오류를 그냥 가려도 되나요

가릴 수는 있지만 권장하지 않는다. 마이크로소프트 지원 문서도 오류를 숨기기보다 원인을 고치라고 안내하며, IFERROR로 덮으면 같은 함수를 쓰는 다른 수식에서 똑같은 오류가 반복된다.

Q. 다른 사람 파일을 열었더니 #NAME? 오류가 떴어요

파일을 만든 사람의 엑셀이 더 최신 버전이고, 그가 쓴 함수를 내 엑셀이 지원하지 않을 가능성이 가장 크다. 엑셀을 업데이트하거나 같은 결과를 VLOOKUP, INDEX/MATCH 같은 구버전 함수로 바꿔 받는 방법이 있다.

Q. 구글 시트에서 쓰던 수식을 엑셀에 붙였더니 오류가 나요

구글 시트 전용 함수 중 일부는 엑셀에 같은 이름의 함수가 없어 #NAME? 오류가 난다. 엑셀에 있는 비슷한 기능의 함수로 바꿔 써야 한다.

Q. 자동완성 기능을 꺼두면 이 오류가 더 자주 날까요

그렇다. 수식 자동완성을 꺼두면 함수 이름을 입력할 때 목록에서 골라 넣는 장치가 사라져 오타를 바로 걸러내지 못한다. 파일 > 옵션 > 수식에서 ‘수식 자동 완성 사용’에 체크가 돼 있는지 확인해두면 예방에 도움이 된다.

엑셀 #NAME? 오류는 결국 함수 이름, 큰따옴표, 이름 관리자, 버전, 매크로 허용 다섯 가지만 순서대로 확인하면 거의 다 풀린다. 지금 바로 이름 관리자부터 열어서 오류를 점검해보자. 여러분은 이 중 어떤 원인으로 오류를 만났나요.

출처: Editlab, https://editlab.luvpp.com

글 Editlab 편집부 · 발행 전 자동 점검(중복·형식·규칙) · 정정 요청 · Google 검색에서 이 매체를 우선 출처로 등록

생활 · 살림하다 막히는 것

살림하다 보면 사소한 데서 막힙니다. 비슷한 상황을 지나온 분들에게 물어보실 수 있습니다. 글은 누구나 읽을 수 있고, 질문을 남기려면 카페 가입이 필요합니다.

리빙 커뮤니티 열어보기

리빙 커뮤니티는 에디트랩이 운영하는 네이버 카페입니다.

EDITLAB 뉴스레터

오늘의 한 가지

평일 아침, 오늘 꼭 알아야 할 정보 하나. 신청 마감이 코앞인 지원금, 검색해도 안 나오는 실제 절차와 후기.

생년월일을 넣으면 매주 월요일 내 주간 운세도 같이 받을 수 있습니다.

무료 사주 운세랩
사주팔자, 오늘의 운세, 궁합, 토정비결, 일주론 전부 무료
무료로 보러 가기
Google 검색에서 이 매체의 새 글을 먼저 보려면
위로 스크롤