이전 강좌에서 정렬의 2가지 문제에 대해 알아보고 1가지 문제의 해결 방법을 설명했습니다. 이번엔 남은 문제 한 가지의 해결 방법을 설명하려 합니다.
"정렬할 데이터에 병합된 셀이 있으면 정렬할 수 없다."라는 문제입니다. 문제부터 확인하겠습니다.
예제 파일은 지금까지 만들어온 "찰라면 판매 현황"입니다. 하고자 하는 것은 "단가 내림차순 정렬"입니다. 간단하죠?
늘 하던 대로 정렬 기준 항목 중 아무 셀이나 선택하고 홈 > 정렬 및 필터 > 내림차순 정렬을 클릭하면 당연히 되겠죠?
하지만, 그림처럼 경고창이 나타나고 정렬되지 않습니다. 경고 메시지를 확인하면 셀의 크기가 동일해야 한다는 것입니다.
기본 정렬 방법에서 말씀드리진 않았는데, 특별히 범위를 설정하지 않고 정렬하면, 엑셀은 기본적으로 처음 선택한 셀의 포함하는 표의 모든 범위를 정렬 대상으로 인식합니다. 그림에서 표의 모든 범위가 선택되는 것이 바로 그런 이유 때문입니다. 그런데 이 예제는 기존의 예제와는 달리 표 안에 병합된 셀이 있어 셀의 크기가 동일할 수 없습니다. 이런 식으로는 정렬을 할 수 없다는 것이죠.
그럼, 병합된 셀이 포함되지 않도록 다시 범위를 선택하고 정렬하면 되겠습니다.
- 단가 내림차순 정렬이니 단가의 범위만 모두 선택합니다.
- 홈 > 정렬 및 필터 > 내림차순 정렬을 클릭합니다. => 정렬 경고 대화상자가 나옵니다.
- "선택 영역 확장"을 클릭하면 이전처럼 표의 모든 범위를 선택합니다. 병합된 셀을 다시 포함하게 되니 안 됩니다. "현재 선택 영역으로 정렬"을 클릭하여 선택합니다.
- 최종 확인 버튼을 클릭하여 적용합니다.
결과, 이거저거 정렬이 바뀌는 것이 확인됩니다. 하지만 조금만 보시면 잘못된 정렬을 하신 것을 알 수 있을 것입니다.
실제로 정렬된 부분은 D8:D11까지입니다. 팀과 수량 항목은 정렬이 되지 않았고 금액, 부가세, 성과금은 단가의 변화에 따라 계산되기 때문에 정렬된 것이 아니라 값 자체가 바뀌어 버린 것입니다.
더 이상한 건 D7셀은 그냥 그 자리를 지키고 있다는 것입니다. 이건 상황에 따라 다른데, 기본적으로 범위를 선택하고 정렬할 때 첫 셀은 셀의 기준 항목이 됩니다. 즉 레이블을 뜻합니다. 지금의 경우는 단가가 되어야겠죠. 하지만 범위를 선택할 때 D6셀을 포함하지 않았기 때문에 단가가 아니라 D7셀을 항목으로 인식하게 되어 자리를 지키고 있는 것입니다. 굉장히 잘못된 정렬을 한 것이죠.
간혹 이렇게 범위를 선택하더라도 엑셀이 "단가"로 항목을 인식하는 때도 있습니다. 이런 경우는 D6셀이 D7과 연속되어 있다고 판단되는 경우입니다. 경험상 셀의 표시 형식이 동일한 경우 연속되어 있다고 판단하는 것 같습니다. 즉 D6셀의 표시 형식이 D7셀과 동일한 표시 형식인 "회계"라면 D6셀을 포함하지 않더라도 D6셀을 항목 기준으로 인식합니다.
구구절절하게 설명했지만, 결론은 범위 선택이 잘못됐다는 것입니다. 이렇게 정렬하면 선택된 영역 안에 셀 위치만 바꾼 결과가 됩니다. 그리고 범위의 선택도 D7:D11로 해야 하는 것이 아니라 D6:D11로 선택했어야 그나마 단가 항목 셀의 위치를 모두 바꾼 것입니다.
이제 범위를 선택하여 정렬하는 올바른 방법을 설명하겠습니다.
- 표의 레이블과 레코드 전체를 클릭 드래그하여 선택합니다. 기타 정렬이 불필요한 행은 제외합니다.
- 홈 > 정렬 및 필터 > 사용자 지정 정렬을 클릭합니다. => 정렬 대화상자가 나옵니다.
(사용자 지정 정렬을 하지 않고 내림차순 정렬을 하면 정렬 기준은 선택 범위의 첫 셀인 "팀"으로 설정되어 "팀 내림차순 정렬"이 됩니다.) - 정렬 기준을 선택합니다.
- 정렬 방법을 선택합니다.
- 최종, 확인 버튼을 클릭하여 적용합니다.
결과, 원하는 정렬이 올바르게 된 것이 확인됩니다.
범위를 선택하여 정렬할 때 주의 사항 정리- 레이블과 레코드 전체를 범위로 선택해야 한다. (병합된 셀 제외, 불필요한 행 제외)
- 사용자 지정 정렬을 사용해야 한다.