본문 바로가기
질문있어요

[질문] 숫자와 문자가 섞여있는 데이터를 숫자 기준 정렬하기

by 일등미노왕국 2022. 8. 27.

기본적으로 숫자와 문자가 섞여있는 데이터는 숫자도 문자로 인식하여 정렬을 하게되면

 

이런식으로 참 재미없게 정렬이 된다.

이를 해결하기 위해서는 앞의 숫자를 분리하여 그 분리된 숫자를 기준으로 정렬을 하면 된다.

 

파일명을 보면 숫자와 문자사이에 스페이스가 하나 있는데 이걸 기준으로 Split를 하면 된다.

Split는 배열 형태로 반환하기 때문에 배열로 받거나 아님 배열의 한 부분을 받으려면 index 번호를 넣어주면 된다.

더보기
Option Explicit
Sub Haja_Pdf_Page_Count()

    Dim rngX As Range: Set rngX = [a2]
    Dim rngAll As Range
    Dim rngA As Range
    
    If rngX = "" Then Exit Sub              '= 파일명의 처음이 없다면 종료
    
        Set rngAll = Range([a2], Cells(Rows.Count, "b").End(3))  '= 전체영역 설정
        For Each rngA In rngAll.Columns(1).Cells                 '= 전체영역중 파일명의 cell들을 순환해랴
            rngA(1, 2) = Split(rngA, " ")(0)                     '= 파일명을 스페이스로 나눠서 그 첫번째를
                                                                 '= 파일순서 위치에 출력해라
        Next rngA                                                '= 모든 파일명을 순환 분리 하였다면
        rngAll.Sort [b2], 1, Header:=xlYes                       '= 파일순서 기준으로 오름 차순 정렬
                                                                 '= 참고로 2는 내림차순

End Sub

 

 

당연하겠지만 rngA(1,2) = split(rngA, " ")(1)을 하겠되면 파일순서 열에는 문자가 들어가게된다.

 

이는 크롤링을 할 때도 참 유용하게 사용되니 참고하길 바란다.

 

실제 실무에서 사용된 코드를 보면 오른쪽 정규식으로 도출된 Value값 imgs":["https:\u002f\u002f.......

에서 "  :[  " 기준으로 인덱스 0은 imgs"  가 분리되고 인덱스 1은 "https:\u002.... 가 분리가 된다.

 

그럼 이 분리된 https의 url로 사진을 다운 받으면 되는것이다.

Url에서 사진을 다운받는 방법에 대해서는 앞서 공개한 자료들을 보시기 바란다.

 

 

다시 돌아와서 이렇게 분리된 파일순서로 정렬을 하게 되면 원하는 결과가 나오게 될것이다.

https://1stminokingdom.tistory.com/113

 

[Tip] Url 주소에서 사진 다운로드하기

Url 주소에서 원하는 폴더나 경로에 사진을 저장하는 방법을 소개하려 한다. 1.WinHttp 방식 2. xmlHttp 방식 3. 외부라이러리 추가 방식(urlmon) 4. adodb.stream 방식 각자 편한 방식으로 하시길 바란다.

1stminokingdom.tistory.com

개인적으로는 URLmon방식을 선호한다.

 

정렬하기.xlsm
0.02MB

댓글