엑셀 오류 중 하나가 텍스트로 된 숫자에 관한 정렬이다. 보통 셀 값은 텍스트의 경우 왼쪽정렬, 숫자(수식)인 경우 오른쪽 정렬이고 해당 셀이 포함된 열 또는 행을 정렬하는 경우 숫자로 표시된 값이 올바르게 정렬되지 않는 오류 아닌 오류가 일어난다.
"나이"를 타이틀로 정리된 자료를 예로 들어 피벗테이블을 만들거나 나이 순으로 오름차순으로 정렬하는 경우
1,2,3,...11.1,11.2,21.22... 정렬되길 바라지면 => 1,11.1,11.2...2,21.22...3 생각치 못한 정렬이 된다.
이는 숫자의 경우 자리수 하나씩 정렬 기준으로 삼기 때문인데 1, 2, 11, 22 경우 첫째 자리수 1, 11의 1이 빠르다고 인식되기 때문에 결과는 1, 11, 2, 22 로 정렬된다.
엑셀예제는 통계청, 생명표의 간이생명표(5세간격별) <누계>로 기대여명(전체)를 나타낸다.
(기대여명? 특정연령 x세의 생존자가 앞으로 생존할 것으로 기대되는 평균생존년수(※ 기대수명 : 0세 출생자가 향후 생존할 것으로 기대되는 평균생존년수로 '0세의 기대여명'를 말함)
엑셀예제에서 보듯 연령별 정렬이 왼쪽, 오른쪽 일정하지 않은 이유가 앞서 설명했듯 숫자로 표시되지만 텍스트로 인식되기 때문인데 이럴 경우 셀 왼쪽에 삼각형 모양이 표기된다. 엑셀 오류가 있는 경우 표시되며 마우스 우클릭으로 텍스트로 저장된 숫자를 => 숫자로 변환하여 일관성 있는 값이 되도록 수정할 수 있다.
하지만 텍스트를 숫자로 변환한 경우 연령별 통계현황을 알아보고자 피벗 테이블을 만들 때 또다른 문제에 봉착한다.
피벗테이블은 [메뉴]-[삽입]-[피벗테이블] 클릭한 후 범위를
"연령별" 행 레이블에 "기대여명"을 값 항목으로 끌어다 놓으면 아래와 같은 결과가 나오는데 숫자로 인식된 연령은 오름차순으로 정렬되지만 올바르지 않다(왼쪽). 바르게 정렬된 값은 통일된 셀 서식을 적용한 오른쪽 영역으로 결과를 미리 짐작 할 수 있다.
자 그럼 숫자를 올바르게 정렬하기 위해선 텍스트 셀 서식을 적용해야 하는데 아래 그림처럼 0->00, 1->01 형식으로 두자리 숫자형식으로 텍스트 셀 서식을 만들어보자
숫자를 텍스트 셀 형식으로 변환하는 함수는 Text함수로 구문은 Text(숫자를 텍스트로 변환할 셀, 셀 형식 지정)이다.
엑셀예제 A2 셀 값은 "0"으로 E2 "00"으로 바꾸려면 =Text(A2,"00") 두자리 텍스트 형식으로 지정한다. 앞서 피벗테이블 결과를 되살펴보면 텍스트형식으로 지정 후 올바르게 정렬되었음을 확인 할 수 있다.
엑셀예제파일-엑셀 오류 숫자 텍스트 변환 후 정렬하기.xlsx