병합 된 셀을 포함하는 데이터 정렬 (Microsoft Excel)
Excel에는 인접한 셀을 더 큰 단일 셀로 병합하는 기능이 오랫동안 포함되어 있습니다. 이 기능은 많은 워크 시트 디자이너가 워크 시트를 세련되고 전문적인 모양으로 만드는 데 사용되었습니다.
그러나 병합 된 셀을 사용하면 큰 단점이 있습니다. 셀을 포함하는 표를 정렬 할 수 없습니다. 시도하면 “이 작업을 수행하려면 병합 된 셀의 크기가 동일해야합니다.”라는 메시지가 표시됩니다.
문제에 대한 가장 확실한 해결책은 병합 된 셀을 사용하지 않는 것입니다.
예를 들어 각 “레코드”가 실제로 두 행으로 구성된 워크 시트가 있고 워크 시트의 첫 번째 열에 병합 된 셀이 포함되어 있다고 가정 해 보겠습니다. (각 두 행 레코드는 두 행에 걸쳐있는 두 개의 병합 된 셀로 시작합니다.이 병합 된 셀에는 프로젝트 이름이 포함됩니다.)
첫 번째 열의 셀을 병합 해제하는 것이 좋지만 워크 시트에서 레코드를 올바르게 정렬하는 방법이 궁금 할 수 있습니다. 정렬 중에 행 쌍을 함께 유지하는 방법. 첫 번째 행에 프로젝트 이름을 입력하고 두 번째 행에 “zz”가 추가 된 프로젝트 이름을 입력하면됩니다. 예를 들어 첫 번째 행에 “Wilburn Chemical”(프로젝트 이름)이 포함되어 있으면 두 번째 행에 “Wilburn Chemicalzz”가 포함될 수 있습니다. 이름이 표시되지 않도록 두 번째 행의 셀 서식을 지정합니다 (예 : 흰색 배경에 흰색 텍스트). 그런 다음 원하는대로 성공적으로 정렬 할 수 있습니다.
또 다른 해결책은 매크로를 사용하여 워크 시트를 조정하고 정렬을 완료하는 것입니다. 병합 된 셀이 A 열에 있다고 가정하면 (이전에 설명한대로) 다음 매크로를 사용하여 A 열의 내용을 기준으로 데이터를 정렬 할 수 있습니다.
Sub SortList() Dim sAddStart As String Dim rng As Range Dim rng2 As Range Dim lRows As Long Application.ScreenUpdating = False sAddStart = Selection.Address Set rng = Range("A1").CurrentRegion With rng lRows = .Rows.Count - 1 .Cells(1).EntireColumn.Insert .Cells(1).Offset(0, -1) = "Temp" .Cells(1).Offset(1, -1).FormulaR1C1 = _ "=+RC[1]&"" ""&ROW()" .Cells(1).Offset(2, -1).FormulaR1C1 = _ "=+R[-1]C[1]&"" ""&ROW()" Set rng2 = .Cells(1).Offset(1, -1).Resize(lRows, 1) Range(.Cells(2, 0), .Cells(3, 0)).AutoFill _ Destination:=rng2 rng2.Copy rng2.PasteSpecial Paste:=xlValues .Columns(1).MergeCells = False .CurrentRegion.Sort _ Key1:=Range("A2"), Order1:=xlAscending, _ Header:=xlYes, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom rng2.EntireColumn.Delete With Range(.Cells(2, 1), .Cells(3, 1)) .Merge .Copy .Cells(3, 1).Resize(lRows - 2, 1). _ PasteSpecial Paste:=xlFormats End With End With Application.CutCopyMode = False Range(sAddStart).Select Application.ScreenUpdating = True End Sub
매크로는 임시 열을 삽입하고, 목록의 첫 번째 열에서 항목을 읽고, 행 번호를 추가하고, 임시 열 아래로 복사하고, 셀 병합을 해제하고, 목록을 정렬하고, 임시 열을 삭제하고, 열 A를 다시 병합합니다. (병합 된 셀이있는 표를 정렬하는 데 많은 작업이 필요합니다!)
이 매크로는 데이터의 특정 레이아웃에 매우 구체적이므로 테스트를 거쳐 다른 방식으로 서식이 지정된 데이터로 작동하는지 확인해야합니다.
_ 참고 : _
이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶으면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.
link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요]
.
_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.
이 팁 (761)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다. 여기에서 Excel의 이전 메뉴 인터페이스에 대한이 팁 버전을 찾을 수 있습니다.
link : / excel-Sorting_Data_Containing_Merged_Cells [병합 된 셀을 포함하는 데이터 정렬]
.