엑셀 NUM 오류 원인과 수치 계산 한계 해결법
금융 수식이나 복잡한 공학 계산을 수행하던 중 셀에 엑셀 NUM 오류가 나타나며 계산이 멈춰 서는 경우가 있습니다.
#NUM!이라는 에러 코드는 수식의 구문 자체는 올바르지만, 수식에 전달된 숫자가 수학적으로 처리 불가능하거나 엑셀이 감당할 수 있는 수치 범위를 초과했을 때 발생합니다.
이번 글에서는 엑셀의 부동 소수점 연산 한계와 재귀 알고리즘 수렴 실패의 원리를 살펴보고, 이를 안정적으로 제어하는 실무 해결책을 정리해 드립니다.
엑셀 NUM 오류가 발생하는 수학적 및 연산 한계 원리
스프레드시트에서 나타나는 엑셀 NUM 오류(Number Error)는 유효하지 않은 숫자 인수가 함수에 전달되었을 때 출력되는 계산 거부 신호입니다.
가장 대표적인 원인은 수학적 정의 불가 연산입니다. 실수 체계에서는 음수의 제곱근을 구할 수 없으므로 =SQRT(-25) 같은 수식은 즉시 #NUM!을 뿜어냅니다.
둘째는 엑셀이 지원하는 수치 계산 한계(1E-307 ~ 1E+307) 초과입니다. 지수 연산으로 숫자가 너무 커지거나 0에 무한히 가까워지면 오버플로가 발생합니다. 셋째는 IRR(내부수익률)이나 RATE 함수처럼 반복 계산(Iteration)을 통해 정답을 찾아가는 수식에서 지정된 횟수 내에 수렴하지 못했을 때 나타납니다.
음수 인수 교정과 ABS 절대값 함수 활용법
제곱근이나 로그 계산 중 데이터 집계 오류로 음수가 유입되었다면 수학적 논리를 보정해 주어야 합니다.
수식에 들어가는 인수가 항상 양수여야 한다면 ABS(절대값) 함수를 감싸주어 부호 오류를 예방할 수 있습니다: =SQRT(ABS(A1)).
복소수 계산이 필요한 전문 공학 환경이라면 일반 SQRT 대신 엔지니어링 전용 복소수 함수인 IMSQRT 함수를 사용하여 허수(i) 단위의 결과를 도출해야 합니다.
반복 계산 옵션 조정과 재무 함수 추정값(Guess) 지정
IRR이나 RATE 같은 재무 함수에서 #NUM!이 뜬다면 엑셀이 20회 이상의 내부 반복 계산을 거쳐도 적절한 이자율을 수렴해 내지 못한 상태입니다.
이때는 함수의 마지막 인수인 [guess(예상치)]를 비워두지 말고 =IRR(A1:A10, 0.1)처럼 예상 이자율(예: 10%)을 직접 지정해 주어야 엑셀이 탐색 방향을 올바르게 잡습니다.
또한 파일 > 옵션 > 수식 메뉴로 이동하여 ‘반복 계산 사용’에 체크하고 ‘최대 반복 횟수’를 기본 100회에서 1,000회로 상향 조정하면 까다로운 수치 방정식의 해를 성공적으로 찾아냅니다.
NUM 오류 대표 발생 원인 및 해결책 비교
실무에서 빈번히 터지는 #NUM! 오류의 패턴을 비교하면 다음과 같습니다.
| 발생 상황 | 오류 수식 예시 | 발생 원인 | 권장 해결 조치 |
|---|---|---|---|
| 음수 제곱근 시도 | =SQRT(-16) | 실수 범위에서 음수 제곱근 불가 | ABS 함수 적용 또는 수치 검증 |
| 수치 표현 한도 초과 | =1000^1000 | 10^308 초과로 인한 오버플로 | 로그 변환 연산 또는 단위 스케일 조정 |
| 재무 함수 수렴 실패 | =IRR(A1:A5) | 현금 흐름 비정상, 반복 한도 초과 | [guess] 인수 입력, 반복 횟수 증설 |
| 유효 범위 이탈 인수 | =LARGE(A1:A5, 10) | 데이터 개수(5개)보다 큰 순위 요구 | 순위 인수를 데이터 범위 내로 조정 |
위 비교처럼 엑셀 NUM 오류는 수식의 논리적 한계치를 조정하거나 적절한 수치 범위를 한정해 줌으로써 완벽히 해결할 수 있습니다.
핵심 정리
엑셀 NUM 오류는 수식에 투입된 숫자가 컴퓨터 연산 체계의 허용치나 수학적 공리를 거슬렀을 때 발생하는 계산 한계 경고입니다. 거대한 거듭제곱 계산 시에는 데이터 단위를 만원이나 백만원 단위로 축소 스케일링하는 전처리가 효과적입니다.
재무 수식에서는 예상값(Guess) 인수 명시와 엑셀 옵션의 반복 계산 횟수 설정을 최적화하여 수치 수렴 능력을 높여주시기 바랍니다.
재발 방지 체크리스트
- 제곱근(SQRT)이나 로그(LOG) 수식 작성 시 인수에
ABS함수를 병용합니다. - 지수 연산(
^) 시 결과가 10의 308승을 넘지 않도록 입력값 범위를 통제합니다. LARGE나SMALL함수 사용 시 순위 인수가 데이터 행 수를 초과하지 않게 검증합니다.- IRR이나 RATE 함수 작성 시 수렴 실패를 막기 위해 예상치(0.1 등)를 입력합니다.
- 엑셀 수식 옵션에서 반복 계산 횟수와 최대 변화량 기준을 적절히 설정합니다.









