programing

Excel에서 동일한 행에 중복을 정렬하는 방법

mailnote 2023. 9. 18. 22:36
반응형

Excel에서 동일한 행에 중복을 정렬하는 방법

이것은 제가 대답할 수 없는 간단한 질문입니다.

Excel에는 다음과 같은 두 개의 칼럼이 있습니다.

Col1    Col2
 A       C
 B       I
 C       E
 D       D
 E       A
 F       F
 G       B
 H       
 I       

다음과 같이 동일한 값이 두 열의 동일한 행에 정렬되도록 두 열을 정렬합니다.

Col1    Col2
 A       A
 B       B
 C       C
 D       D
 E       E
 F       F
 G       
 H       
 I       I
 K       

지금까지 나는 다음을 시도했습니다.VBA코드:

 Sub HighlightDups()
    Dim i, LastRowA, LastRowB
    LastRowA = Range("A" & Rows.Count).End(xlUp).Row
    LastRowB = Range("B" & Rows.Count).End(xlUp).Row
    Columns("A:A").Interior.ColorIndex = xlNone
    Columns("B:B").Interior.ColorIndex = xlNone
    For i = 1 To LastRowA
        If Application.CountIf(Range("B:B"), Cells(i, "A")) > 0 Then
            Cells(i, "A").Interior.ColorIndex = 36
        End If
    Next
    For i = 1 To LastRowB
        If Application.CountIf(Range("A:A"), Cells(i, "B")) > 0 Then
            Cells(i, "B").Interior.ColorIndex = 36
        End If
    Next
End Sub

그러나 이 코드는 복제물을 찾는 데 도움이 될 뿐 두 열의 같은 행에 복제물을 배치하지는 못합니다.

당신들이 좀 도와줄 수 있는지 궁금합니다.

정말 감사해요.

VBA 없이

  • B열에 빈 칸을 삽입합니다.
  • B1퍼트로=IF(ISNA(MATCH(A1,C:C,0)),"",INDEX(C:C,MATCH(A1,C:C,0)))베껴 적습니다.
  • B열을 복사하여 그 위에 다시 붙여넣어 공식을 제거합니다.

VBA에서

Sub Macro1()
    Dim rng1 As Range
    Set rng1 = Range([a1], Cells(Rows.Count, "A").End(xlUp))
    rng1.Offset(0, 1).Columns.Insert
    With rng1.Offset(0, 1)
        .FormulaR1C1 = _
        "=IF(ISNA(MATCH(RC[-1],C[1],0)),"""",INDEX(C[1],MATCH(RC[-1],C[1],0)))"
        .Value = .Value
    End With
End Sub

VBA 미포함

  • C1에 =VLOOKUP(A:A,B:B,1)을 넣습니다.
  • 열이 여러 개인 경우, E1에 =VLOOKUP(A:A,B:D,2)…. 끝자리가 1(col B), 2(col C) 3(col D)로 바뀌어야 합니다.

그에 따라 개별 열에 찾는 각 배열에 대해 복사하여 붙여넣어야 하지만 쉽게 열을 복사하여 붙여넣을 수 있습니다.

도움이 되길 바랍니다.질문이 있으시면 말씀해주시기 바랍니다.

언급URL : https://stackoverflow.com/questions/12836396/how-to-align-duplicates-on-the-same-rows-in-excel

반응형