엑셀 가나다순 정렬
엑셀 가나다순 정렬 입니다. 필터를 사용하면 간단하게 할 수 있지만 데이터가 추가 되어야 하는 상황이나 필터를 사용 할 수 없는 상황에서 rank와 여러가지 수식을 활용하여 가나다순, 즉 오름차순 텍스트 정렬 하는 방법을 소개해 드리겠습니다. 다소 복잡할 수 있으나 어렵지는 않으니 잘 봐주시면 감사 하겠습니다.
엑셀 가나다순 정렬 이름
다음과 같은 이름 데이터가 있습니다.
필터를 사용하면 간단하게 오름차순 정렬 할 수 있지만 데이터가 추가 될 때 마다 정렬을 해야 합니다. 그로 인해 데이터가 틀어질 수 있고 정확한 입력이 되지 않을 수 있으므로 수식을 활용 해 보도록 하겠습니다.
원본 이름이 적히는 데이터와 다른 행 혹은 다른 시트에 순번을 하나 더 만들어 줍니다.
- CODE 함수를 이용 하여 텍스트를 숫자로 변환합니다.
- CODE 함수에 대한 자세한 설명은 여기서 확인 가능합니다.
- RANK 함수를 이용하여 코드값의 순의를 매겨 줍니다.
- RANK 함수에 대한 자세한 설명은 여기서 확인이 가능합니다.
하지만 CODE 함수는 셀의 첫 번째 텍스트만 변환 하므로 성이 같은 이름은 같은 값으로 반환 하게 됩니다. 그래서 수식을 추가하도록 하겠습니다.
- =CODE(B2)+CODE(MID(B2,2,1))*0.00001 다음 수식을 입력 해줍니다.
- MID 함수 와 CODE를 중첩하여 두 번째 글자에 0.00001을 곱한 후 합쳐 지도록 하였습니다.
- 두 번째 글자가 첫 번째 글자에 영향을 주지 않도록 아주작은 값을 더해 지게 하는 원리 입니다.
- MID함수 설명은 여기서 확인하세요
사진상의 위쪽은 해결이 되었지만 황보유, 황보진 과 같이 두 번째 까지 같은 경우 공동 순위가 나오게 됩니다. 세 번째 글자까지 중첩해준뒤 동명이인의 경우까지 수식에 포함해 보겠습니다.
파트너스 활동의 일환으로 이에 따른 수수료를 제공 받습니다.
=CODE(B2)+CODE(MID(B2,2,1))*0.00001+CODE(MID(B2,3,1))*0.00000001 수식을 입력 합니다. 전에 했던 작업과 같이 두 번째 텍스트에 영향을 주지 않도록 세 번째 값은 더 작은 값을 곱해주도록 합니다.
- 마지막으로 RAND()*0.0001을 하여 동명이인에 대해서도 아주 작은 난수값을 더해줘 대비해주겠습니다.
- RAND 함수에 대한 설명은 여기서 확인 가능합니다.
- 다음으로 xlookup을 활용 하여 =XLOOKUP(D2,F:F,B:B) 수식을 입력 합니다.
- D2셀(오름차순 숫자)에 대한 F행에 대입되는 B행의 값입니다.
- XLOOKUP의 자세한 설명은 여기서 확인이 가능합니다.
수고하셨습니다.
관련글
엑셀 카운팅 함수 총정리 COUNT COUNTA COUNTIF COUNTUFS 한번에!
엑셀 EXACT 함수 정확히 일치시 TRUE로 반환 하여 알려주는 함수!
엑셀 이용 하여 로또 만들기 매크로 없이 함수만을 사용 하여 쉬운방법!
엑셀 필터 버튼 만들기 버튼을 만들어 가시성을 높이고 멋진 보고서 만들기
엑셀 절대값 함수 ABS 알아보기!