티스토리 뷰

728x90

컴퓨터 프로그래밍을 경험한 사람에게 엑셀 함수는 그리 생소하지 않은, 많은 노력을 기울이지 않아도 금방 익숙해 질 수 있는 기능입니다. 왜냐하면 기능 수행 과정이 C언어와 같은 프로그램이 수행되는 것과 크게 다르지 않기 때문입니다. 반대로 엑셀 함수에 익숙해진 사용자라면 어떤 프로그래밍 언어에도 어렵지 적응할 수 있다는 이야기가 됩니다. 



프로그래밍 언어에서 데이터 타입(Data type)은 메모리의 특정 영역을 어떤 형태로 다룰것인가를 지정하는 것으로 엑셀에서는 각 셀의 데이터를 어떻게 간주할 것인지와 연관성이 있습니다. 연산 및 함수 수행 결과값에 따라서 엑셀이 데이터 타입을 자동으로 감지해서 처리하지만 엑셀 사용자 입장에서는 숫자를 인수로 받는 함수에 텍스트를 넣거나 텍스트 처리 함수에 숫자를 넣어서 혼란을 유발하지 않도록 주의할 필요가 있습니다. 엑셀은 다음과 같은 네가지 기본적인 타입을 가집니다.

    • 숫자 : 엑셀에서의 숫자 항목은 8바이트 배정도 부동소수점으로 처리합니다.
    • 문자열 : 영문, 한글등 유니코드에서 표현가능한 모든 문자를 최대 32,767자까지 입력할 수 있습니다.  
    • 논리값 : TRUE 또는 FALSE
    • 에러 : 함수를 수행할 수 없거나 주소를 잘못 지정했거나 숫자를 0으로 나눈 경우등 문제가 발생한것

엑셀에서 숫자를 다루는 것 만큼 중요한 것은 없죠. 그래서 셀서식을 보더라도 숫자부터 지수까지가 모두 숫자와 연관성을 가집니다. 위의 예제는 모든 셀에 0.25를 입력한 것으로 값은 동일하지만 표시 형식만 다른 것입니다. 결과적으로 숫자, 통화, 회계, 날짜, 시간, 백분율, 분수, 지수 표시형식으로 형식만 다른 셀들에 특정한 값을 더하도록 연산하면 모두 동일한 결과 값을 갖게 됩니다.


주의할 점은 셀서식을 텍스트로 설정한 상태에서는 모든 문자를 입력할 수 있는 상태가 되기 때문에 =로 시작하는 연산식이나 함수식을 입력하더라도 그것을 표현식이 아니라 단순 문자열로 인식하여 연산을 수행하지 않는 것입니다. 엑셀 함수를 입력할 경우에는 텍스트가 아닌 표식 형식에서 함수를 입력합니다. 함수를 작성한 다음에 셀 표시 형식을 "텍스트"로 적용하는 것은 괜챦습니다.


연산 결과가 에러인 경우에는 표시되는 내용에 따라 문제점을 찾아 수정하거나 적절한 조치를 취해야 합니다. 다음은 엑셀에서 발생시키는 에러와 그 의미입니다.

    • #NULL! : 함수 사용 형식이 잘못되었거나 셀주소를 잘못 기술한 경우, 참조 데이타가 없는 경우 등에 발생
    • #DIV/0! : 0으로 나누기가 이루어 질때 발생. 모든 셀이 문자열인 범위에 평균을 구하는 등의 경우에 발생
    • #VALUE! : 함수에 적절한 타입의 데이터가 주어지지 않은 경우 발생
    • #REF! : 셀주소를 참조할 수 없거나 표현 범위를 넘어서는 경우 발생
    • #NAME? : 함수명을 잘못 입력하거나 알수 없는 변수를 입력한 경우 발생
    • #NUM! : 숫자값이 연산 과정중에 표현 가능 범위를 넘어선 경우 발생
    • #N/A : 대상이 없는 경우 발생. ISNA() 함수로 검출할 수 있고, NA()함수로 인위적으로 발생시킬수 있음
    • #### : 숫자값을 표현할 수 없을때 표시되는 것으로 셀폭을 늘려주거나 서식을 조정하면 됩니다

셀서식을 "일반"으로 하면 엑셀에서 값에 따라 데이터 타입을 적절하게 처리합니다. 문제는 함수 사용 과정에서 "#VALUE!" 에러가 발생하여 데이터 타입을 잘못 지정한 것을 인지하는 경우처럼 숫자를 데이터로 주어야 하는데 텍스트가 섞여 있거나 텍스트 자료를 처리해야 하는데 숫자 항목이 섞여 있어서 예상치 못한 결과를 얻는 것입니다. 현재 값이 숫자인지 문자열인지 눈으로 구분하는 가장 간단한 방법은 별도의 좌/우/가운데 맞춤 설정이 없는 상태에서 셀 값이 우측으로 맞춤되어 있으면 숫자, 좌측으로 맞춤되어 있으면 문자열이고 논리값과 에러는 중앙에 정렬된다는 점입니다. 아무튼 이번 포스팅에서는 데이터 타입의 존재와 각 타입에 맞게 함수를 사용해야만 원하는 결과를 얻을 수 있다는 점을 기억하면 됩니다.


728x90
댓글
글 보관함
최근에 올라온 글
최근에 달린 댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31