Dror에는 상당한 양의 데이터가 포함 된 워크 시트가 있습니다. 한 열의 데이터가 다른 열의 데이터와 정확히 동일 할 수 있으므로 워크 시트 내에서 중복 된 열을 쉽게 삭제할 수있는 방법이 있는지 궁금합니다.

물론 첫 번째 단계는 두 열이 동일한 지 여부를 파악하는 것입니다. 이것은 다음과 같은 배열 수식을 사용하여 쉽게 결정할 수 있습니다.

=AND(A1:A100=B1:B100)

(배열 수식은 Shift + Ctrl + Enter를 사용하여 입력됩니다.)

이 수식은 A 열과 B 열의 처음 100 개 행에있는 모든 값을 비교합니다. 모두 같으면 수식은 TRUE를 반환합니다. 일치하지 않는 셀이 있으면 수식이 FALSE를 반환합니다. 결과가 TRUE이면 동일하므로 열 중 하나를 삭제할 수 있습니다.

좀 더 자동적 인 것을 원하면 중복 열이 삭제되는 것을 의미하는 경우 매크로를 사용해야합니다. 다음 단계에서는 워크 시트의 모든 열을 살펴보고 맨 오른쪽 열부터 시작하여 모든 열을 비교합니다. 워크 시트의 순서에 관계없이 동일한 항목이 있으면 매크로는 중복 열을 삭제할 것인지 묻습니다.

Sub DeleteDuplicateColumns()

Dim rngData As Range     Dim arr1, arr2     Dim i As Integer, j As Integer, n As Integer

On Error Resume Next     Set rngData = ActiveSheet.UsedRange     If rngData Is Nothing Then Exit Sub

n = rngData.Columns.Count

For i = n To 2 Step -1         For j = i - 1 To 1 Step -1             If WorksheetFunction.CountA(rngData.Columns(i)) <> 0 And _               WorksheetFunction.CountA(rngData.Columns(j)) <> 0 Then                 arr1 = rngData.Columns(i)

arr2 = rngData.Columns(j)

If AreEqualArr(arr1, arr2) Then                     With rngData.Columns(j)

'mark column to be deleted                         .Copy                         If MsgBox("Delete marked column?", vbYesNo) _                           = vbYes Then                             rngData.Columns(j).Delete                         Else                             'remove mark                             Application.CutCopyMode = False                         End If                     End With                 End If             End If         Next j     Next i

End Sub
Function AreEqualArr(arr1, arr2) As Boolean     Dim i As Long, n As Long     AreEqualArr = False     For n = LBound(arr1) To UBound(arr1)

If arr1(n, 1) <> arr2(n, 1) Then             Exit Function         End If     Next n     AreEqualArr = True End Function

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (5674)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다. 여기에서 Excel의 이전 메뉴 인터페이스에 대한이 팁 버전을 찾을 수 있습니다.

link : / excel-Deleting_Duplicate_Columns [중복 열 삭제].