워드프로세서/엑셀

엑셀 날짜별로 정렬방법 : 시간순, 월별, 자동 정렬

에이티에스 2023. 6. 13. 08:38
728x90

 

날짜를 시간순으로 정렬하는 방법

Excel에서 날짜를 시간순으로 정렬하는 것은 매우 쉽습니다. 표준 오름차순 정렬 옵션을 사용하기만 하면 됩니다.

  1. 시간순으로 정렬할 날짜를 선택합니다.
  2. 홈(Home) 탭의 형식(Formats) 그룹에서 정렬 및 필터(Sort & Filter)를 클릭하고 가장 오래된 것부터 최신으로 정렬(Sort Oldest to Newest)을 선택합니다. 또는 정렬 및 필터 그룹의 데이터 탭에서 A-Z 옵션을 사용할 수 있습니다.

 

Excel에서 날짜별로 정렬하는 방법

Excel 정렬 옵션은 단일 열이 아닌 전체 테이블을 다시 정렬하는 데에도 사용할 수 있습니다. 행을 그대로 유지하면서 날짜별로 레코드를 정렬하려면 메시지가 표시될 때 선택 항목을 확장하는 것이 핵심입니다.

Excel에서 날짜별로 데이터를 정렬하는 자세한 단계는 다음과 같습니다.

  1. 스프레드시트에서 열 머리글이 없는 날짜를 선택합니다.
  2. Home(홈) 탭에서 Sort & Filter(정렬 및 필터)를 클릭하고 Sort Oldest to Newest(가장 오래된 것부터 최신으로 정렬)를 선택합니다.
  3. 정렬 경고 대화 상자가 나타납니다. 기본값인 선택 확장 옵션을 선택한 상태로 두고 정렬을 클릭합니다.

레코드는 날짜별로 정렬되었으며 모든 행은 함께 유지됩니다.

 

반응형

 

Excel에서 월별로 정렬하는 방법

예를 들어 동료나 친척의 기념일을 그룹화할 때와 같이 연도를 무시하고 월별로 날짜를 정렬하려는 경우가 있을 수 있습니다. 이 경우 기본 Excel 정렬 기능은 셀이 월 또는 월과 일만 표시하도록 서식이 지정된 경우에도 항상 연도를 고려하기 때문에 작동하지 않습니다.

 

해결 방법은 도우미 열을 추가하고, 월 번호를 추출하고, 해당 열을 기준으로 정렬하는 것입니다. 날짜에서 월을 얻으려면 MONTH 함수를 사용하십시오.

아래 스크린 샷에서는이 공식을 사용하여 B2의 날짜에서 월 번호를 추출합니다.

=MONTH(B2)

이제 Month 열을 기준으로 테이블을 정렬합니다. 이를 위해 월 번호 (C2 : C8)를 선택하고 정렬 및 필터 > 가장 작은 것부터 가장 큰 것까지 정렬 한 다음 Excel에서 요청하면 선택 항목을 확장합니다. 모두 올바르게 수행되면 다음과 같은 결과를 얻을 수 있습니다.

 

이제 데이터가 월별로 정렬되어 있으며 각 월의 연도와 일을 무시합니다. 월과 일을 기준으로 정렬하려면 다음 예제의 지침을 따릅니다.

 

Excel에서 생일을 월별로, 일별로 정렬하는 방법

생일 달력의 날짜를 정렬 할 때 최적의 솔루션은 날짜를 월별로, 일별로 정렬하는 것입니다. 따라서 생년월일로부터 몇 달과 며칠을 당기는 공식이 필요합니다.

이 경우 날짜를 지정된 형식의 텍스트 문자열로 변환 할 수있는 Excel TEXT 함수가 유용합니다.

 "mmdd" 또는 "mm.dd" 형식 코드가 작동합니다.

 

소스 날짜가 B2인 경우 수식의 형식은 다음과 같습니다.

=TEXT(B2, "mm.dd")

 

다음으로 월 및 일 열을 가장 큰 열에서 가장 작은 열로 정렬하면 매월 날짜 순서대로 데이터가 정렬됩니다.

다음과 같이 DATE 수식을 사용하여 동일한 결과를 얻을 수 있습니다.

=DATE(2000, MONTH(B2),DAY(B2))

 

수식은 B2의 실제 날짜에서 월과 일을 추출하고 실제 연도를 가짜 연도(이 예에서는 2000)로 바꿔 날짜 목록을 생성합니다. 아이디어는 모든 날짜에 대해 같은 연도를 가진 다음 날짜 목록을 시간순으로 정렬하는 것입니다. 

 

반응형

 

Excel에서 연도별로 데이터를 정렬하는 방법

연도별로 정렬할 때 가장 쉬운 방법은 Excel의 오름차순 정렬(가장 오래된 것부터 최신으로) 옵션을 사용하여 날짜를 시간순으로 정렬하는 것입니다.

이렇게 하면 아래 스크린샷과 같이 연도별, 월별, 일별로 날짜가 정렬됩니다.

 

이러한 배열이 마음에 들지 않으면 날짜에서 연도를 추출하는 YEAR 수식을 사용하여 도우미 열을 추가 할 수 있습니다.

=YEAR(C2)

 

Year 열을 기준으로 데이터를 정렬하면 날짜가 월과 일을 무시하고 연도별로만 정렬되는 것을 알 수 있습니다.

 월과 연도를 무시하고 날짜를 일별로 정렬하려면 DAY 함수를 사용하여 날짜를 추출한 다음  열을 기준으로 정렬합니다.

=DAY(B2)

 

Excel에서 요일별로 정렬하는 방법

요일별로 데이터를 정렬하려면 이전 예제와 같이 도우미 열도 필요합니다. 이 경우 도우미 열을 요일에 해당하는 숫자를 반환하는 WEEKDAY 수식으로 채운 다음 도우미 열을 기준으로 정렬합니다.

일요일(1)부터 토요일(7)까지 시작하는 한 주 동안 사용할 공식은 다음과 같습니다.

=WEEKDAY(A2)

 

한 주가 월요일(1)부터 일요일(7)까지 시작한다면 다음과 같습니다.

=WEEKDAY(A2, 2)

 

여기서 A2는 날짜가 들어 있는 셀입니다.

 

이 예에서는 첫 번째 공식을 사용하여 다음과 같은 결과를 얻었습니다.

요일 이름이 날짜가 아닌 텍스트로 입력되는 경우 다음 예에 설명된 대로 사용자 지정 정렬 기능을 사용합니다.

 

반응형

 

Excel에서 월 (또는 요일)으로 데이터를 정렬하는 방법

월 이름 목록이 월만 표시되도록 서식이 지정된 날짜가 아닌 텍스트로 있는 경우 Excel의 오름차순 정렬을 적용하면 문제가 될 수 있습니다. - 1월부터 12월까지 월 순서로 정렬하는 대신 월 이름을 알파벳순으로 정렬합니다. 이 경우 사용자 지정 정렬이 도움이 됩니다.

  1. 월 이름별로 정렬할 레코드를 선택합니다.
  2. Data(데이터) 탭의 Sort & Filter(정렬 및 필터) 그룹에서 Sort(정렬)를 클릭합니다.
  3. 정렬 대화 상자에서 다음을 수행합니다.
    • 열에서 월 이름이 포함된 열의 이름을 선택합니다.
    • 정렬 기준에서 셀 값을 선택합니다.
    • 순서에서 사용자 지정 목록을 선택합니다.
  4. 사용자 지정 목록 대화 상자에서 워크시트에 월이 나열되는 방식에 따라 전체 월 이름(1월, 2월, 3월 등) 또는 짧은 이름(1월, 2월, 3월 등)을 선택합니다.
  5. 확인을 두 번 클릭하여 두 대화 상자를 모두 닫습니다.

데이터는 알파벳 순서가 아닌 시간순으로 월 이름별로 정렬되었습니다.

 

Excel에서 날짜별로 자동 정렬하는 방법

보시다시피 Excel 정렬 기능은 다양한 문제에 대처합니다. 유일한 단점은 동적이지 않다는 것입니다. 즉, 변경 사항이 있을 때마다 새로운 정보가 추가될 때마다 데이터를 다시 정렬해야 합니다. 데이터가 항상 순서대로 유지되도록 새 날짜가 추가될 때마다 자동으로 정렬하는 방법이 있는지 궁금할 것입니다.

 

이 작업을 수행하는 가장 좋은 방법은 매크로를 사용하는 것입니다. 아래에서 다음 데이터를 날짜별로 시간순으로 자동 정렬하는 몇 가지 코드 예제를 찾을 수 있습니다.

 

반응형

 

매크로 1 : 모든 워크 시트 변경시 자동 정렬

이 매크로는 워크시트의 아무 곳에서나 변경이 발생할 때마다 실행됩니다.

데이터가 A열부터 C열까지 있고 정렬 기준으로 사용할 날짜가 C2부터 시작하는 C열에 있다고 가정합니다. 또한 행 1에 헤더(Header:=xlYes)가 포함되어 있다고 가정합니다. 레코드가 다른 열에 있는 경우 다음과 같이 조정합니다.

  • A1 참조를 대상 범위(머리글 포함)의 왼쪽 위 셀로 변경합니다.
  • C2 참조를 날짜가 포함된 맨 위 셀로 변경합니다.
Private Sub Worksheet_Change(ByVal Target As Range)
  On Error Resume Next

  Range("A1").Sort Key1:=Range("C2"), _
    Order1:=xlAscending, Header:=xlYes, _
    OrderCustom:=1, MatchCase:=False, _
    Orientation:=xlTopToBottom
End Sub

 

매크로 2 : 특정 범위가 변경 될 때 자동 정렬

많은 정보가 포함된 거대한 워크시트로 작업하는 경우 시트의 변경 사항을 전혀 변경하지 않고 다시 정렬하는 것이 번거로울 수 있습니다. 이 경우 매크로의 트리거를 특정 범위에서 발생하는 변경으로 제한하는 것이 좋습니다. 다음 VBA 코드는 날짜가 포함 된 C 열이 변경된 경우에만 데이터를 정렬합니다.

Private Sub Worksheet_Change(ByVal Target As Range)
  On Error Resume Next

  If Not Intersect(Target, Range("C:C")) Is Nothing Then
    Range("A1").Sort Key1:=Range("C2"), _
    Order1:=xlAscending, Header:=xlYes, _
    OrderCustom:=1, MatchCase:=False, _
    Orientation:=xlTopToBottom
  End If

End Sub

이러한 매크로는 날짜뿐만 아니라 모든 데이터 유형별로 자동 정렬하는 데 사용할 수 있습니다. 샘플 코드는 오름차순으로 정렬됩니다. 내림차순으로 정렬하려면 Order1:=xlAscending을 Order1:=xlDescending으로 변경합니다.

 

워크시트에 매크로를 추가하는 방법

두 매크로 모두 워크시트가 변경되면 자동으로 실행되므로 데이터를 정렬할 시트(이 예제의 경우 Sheet1)에 코드를 삽입해야 합니다. 방법은 다음과 같습니다.

  1. 누르다 Alt + F11 을 클릭하여 VBA 편집기를 엽니다.
  2. 왼쪽의 프로젝트 탐색기에서 자동 정렬할 시트를 두 번 클릭합니다.
  3. 코드 창에 코드를 붙여 넣습니다.

 

수식으로 날짜 자동 정렬

날짜 목록이 있고 원래 목록과 나란히 별도의 열에 시간순으로 자동 정렬되도록 하고 싶다고 가정합니다. 이 작업은 다음 배열 수식을 사용하여 수행할 수 있습니다.

 

=IFERROR(INDEX($A$2:$A$20, MATCH(ROWS($A$2:A2), COUNTIF($A$2:$A$20, "<="&$A$2:$A$20), 0)), "")

여기서 A2:A20은 가능한 새 항목을 위한 몇 개의 빈 셀을 포함하여 원래(정렬되지 않은) 날짜입니다.

 

원래 날짜가 있는 열 옆의 빈 셀(이 예에서는 C2)에 수식을 입력하고 Ctrl + Shift + Enter 키를 동시에 눌러 완료합니다. 그런 다음 수식을 나머지 셀(이 경우 C2:C20)로 끕니다.

새로 추가된 날짜를 자동으로 정렬하려면 참조된 범위에 충분한 수의 빈 셀을 포함해야 합니다.

예를 들어 날짜 목록은 A2:A7 범위에 있지만 수식에 $A$2:$A$20를 제공하고 C2에서 C20까지의 셀에 채웁니다. IFERROR 함수는 추가 셀의 오류를 방지하고 대신 빈 문자열("")을 반환합니다.

 

728x90
반응형
그리드형

'워드프로세서 > 엑셀' 카테고리의 다른 글

엑셀 분산 계산하기  (0) 2023.06.13
엑셀 셀 테두리 만들기  (0) 2023.06.13
엑셀 숫자나 날짜를 이용한 IF문 활용  (0) 2023.06.12
엑셀 데이터 막대 만들기  (0) 2023.06.12
엑셀 MATCH 함수  (0) 2023.06.11