본문 바로가기

업무 프로그램/MS 엑셀

엑셀 숫자 제한, 1000조(16자리), 소수점 계산 오류

목차

    엑셀은 강력한 기능을 가지고 있고 많은 범위의 데이터를 처리할 수 있어 사용하다 보면 한계가 없어 보이지만 가끔 한계가 있습니다.

    대표적인 것들은 셀에 포함 할 수 있는 최대 문자의 수는 32,767자, 최대 행과 열 수는 1,048,576행x16,384열, 파일 이름은 경로포함 218자 등이 있습니다.

    그중에 오늘 다룰 내용은 100조(16자리)숫자를 표시하는 방법과 소수점 계산 오류입니다.

    참고로 16자리 숫자를 표시는 할 수 있지만 계산은 할 수 없습니다.


    엑셀에서 16자리 숫자를 오류 없이 표시하는 방법

    엑셀에서는 숫자는 15자리 밖에 표시할 수 없습니다.

    하지만 위에 써있듯이 문자는 32,767자까지 입력 가능합니다.

    그러므로 숫자를 문자로 인식하게 하면 16자리도 입력할 수 있는 것입니다.

    우리가 볼때는 똑같은 숫자로 보이지만 엑셀에서 문자로 인식하게 되면 정상적인 숫자 계산은 되지 않습니다.

     

    엑셀 숫자 16자리 오류
    엑셀 숫자 16자리 오류

     

    G열에 있는 내용이 F열에 실제로 입력한 내용입니다.

    15자리까지는 숫자형식이어도 입력한 대로 나오는 것을 볼 수 있습니다.

    하지만 숫자형식 16자리부터는 마지막 자리에 분명 6을 입력했음에도 0이 입력되어 있는 것을 볼 수 있습니다.

    이런 경우 16자리 숫자를 전부 표시하고 싶으면 숫자 앞에 '(홑따옴표)를 붙이면 엑셀에서 문자로 인식합니다.

    16자리 숫자를 입력해야 하는 범위가 넓어서 불편하다면 셀 서식에서 텍스트로 설정하시면 됩니다.

    셀 서식에서 텍스트로 설정하시는 방법은 다음과 같습니다.

     

     


    엑셀에서 서식을 텍스트로 바꾸어 16자리 이상 숫자 입력하기

    엑셀에서 셀 서식 텍스트로 바꾸기
    엑셀에서 셀 서식 텍스트로 바꾸기

     

    서식을 적용하고 싶은 셀을 드래그하여 선택한 후 우클릭하여 숫자 서식(셀 서식)을 클릭합니다.

     

    엑셀에서 셀 서식 텍스트로 바꾸기2
    엑셀에서 셀 서식 텍스트로 바꾸기2

     

    범주에서 텍스트를 선택하고 확인을 클릭합니다.

     

    엑셀에서 셀 서식 텍스트로 바꾸기2
    엑셀에서 셀 서식 텍스트로 바꾸기2

     

    서식을 변경한 셀에서는 '(홑따옴표)를 입력하지 않아도 16자리 숫자가 문자형식으로 입력되는 것을 확인할 수 있습니다.

     

     


    엑셀에서 소수점 계산 오류가 나는 경우

    엑셀에서는 소수점 계산 시 오류가 발생할 수 있습니다.

    이는 컴퓨터에서 소수점을 계산하는 방식에 따른 오류입니다.

    정밀한 프로그램에서는 소수점에서도 정확히 계산하도록 보정을 해주거나 다른 방식을 사용해 계산하지만 엑셀은 그 정도 정밀함을 보장하지 않습니다.

    따라서 소수점에서 정밀한 계산은 다른 프로그램을 사용하시는 게 좋습니다.

    또한 소수점 계산을 하다가 미세한 차이가 계속 발생한다 싶으면 엑셀 자체의 소수점 계산 오류에 따른 것이라고 보시면 됩니다.

    엑셀에서 소수점 계산 오류가 발생하는 상황에 대한 간단한 예시 하나만 들겠습니다.

     

    엑셀 소수점 오류
    엑셀 소수점 오류

    위 결과는 1123.45-1113.14를 한 결과입니다.

    10.31이 되어야 하지만 I열에 있는 결과는 10.309999999999900이 되었습니다.

    소수점 오류 때문인데 ROUND함수를 이용해서 반올림하여 정상적인 결과로 보이도록 할 수 있습니다.

    하지만 수식이 많아지고 복잡해지면 반올림에 따른 오차가 다시 발생하게 됩니다.

    마지막으로 ROUND 함수를 이용하여 결과를 처리해 보겠습니다.

     


    엑셀 ROUND 함수를 이용한 반올림

    ROUND(number, num_digits)

     

    number: 필수 요소이며 반올림할 숫자입니다.
    num_digits: 필수 요소이며 반올림할 자릿수입니다. 양수이면 소수점 아래 자릿수, 0이면 정수, 음수이면 소수점 위에서 반올림합니다.

     

    엑셀 소수점 반올림
    엑셀 소수점 반올림

    ROUND함수를 이용하여 10.31의 값이 나온 모습입니다.