Excel에서 중복 행을 제거하고 가장 높은 값만 유지하려면 어떻게 해야 하나요?
예를 들어, 첫 번째 스크린샷에 표시된 것처럼 Excel에 구매 테이블이 있다고 가정해 보겠습니다. 이제 Fruit 열을 기준으로 중복 행을 제거하고 Amount 열에서 해당 과일의 최고 값을 유지해야 합니다(두 번째 스크린샷 참조). 해결 방법을 생각할 수 있나요? 이 문서에서는 이를 해결하기 위한 두 가지 방법을 공유하겠습니다.
VBA를 사용하여 중복 행을 제거하고 가장 높은 값만 유지하기
Kutools for Excel을 사용하여 중복 행을 제거하고 가장 높은 값만 유지하기
VBA를 사용하여 중복 행을 제거하고 가장 높은 값만 유지하기
아래 스크린샷에 표시된 것처럼 테이블이 있다고 가정합니다. 이 방법에서는 특정 열을 기준으로 중복 행을 제거하고 다른 열에서 가장 높은 값만 유지하는 VBA 매크로를 소개합니다. 다음 단계를 따르세요:
1. Alt + F11 키를 동시에 눌러 Microsoft Visual Basic for Applications 창을 엽니다.
2. Insert > Module을 클릭하고 새로 열린 Module 창에 다음 코드를 붙여넣습니다.
VBA: 중복 행 제거 및 최고 값 유지하기
Public Sub DelDupes()
Dim xFilterRg As Range
Dim xCriteriaRg As Range
Dim xAddress As String
Dim xSUpdate As Boolean
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xFilterRg = Application.InputBox("Please select a range:", "Kutools for Excel", xAddress, , , , , 8)
If xFilterRg Is Nothing Then Exit Sub
Set xFilterRg = Application.Intersect(ActiveSheet.UsedRange, xFilterRg)
If xFilterRg Is Nothing Then Exit Sub
On Error GoTo 0
xSUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
Set xCriteriaRg = ActiveSheet.Cells(1, xFilterRg.Column + xFilterRg.Columns.Count).Resize(2)
xCriteriaRg.Resize(1).Offset(1).Formula = "=COUNTIF(" & xFilterRg(2, 1).Address & ":" & _
xFilterRg(2, 1).Address(False, False) & "," & _
xFilterRg(2, 1).Address(False, False) & ")>1"
With xFilterRg
.Sort key1:=xFilterRg.Cells(1, 1).Offset(0, 1), order1:=xlDescending, Header:=xlYes
.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=xCriteriaRg
.Offset(1).SpecialCells(xlCellTypeVisible).EntireRow.Delete
.Parent.ShowAllData
End With
xCriteriaRg.Clear
Application.ScreenUpdating = xSUpdate
End Sub
3. F5 키를 누르거나 Run 버튼을 클릭하여 이 VBA를 실행합니다.
4. 이제 대화 상자가 나타납니다. 중복 행을 제거하고 최고 값을 유지할 열을 선택한 후 OK 버튼을 클릭하세요.
우리의 경우, Fruit 열을 기준으로 중복 행을 제거하고 Amount 열에서 최고 값을 유지할 것입니다. 따라서 위 스크린샷과 같이 Fruit 열과 Amount 열을 선택합니다.
그러면 Fruit 열을 기준으로 중복 행이 제거되고, 해당 과일의 최고 값은 Amount 열에 유지됩니다. 스크린샷을 참조하세요:
참고:
(1) 지정된 범위는 중복 행을 제거할 열부터 시작해야 합니다.
(2) 이 VBA는 중복 행을 제거한 열 바로 뒤의 열에서만 최고 값을 유지할 수 있습니다.
(3) 이 VBA는 Microsoft Excel 2007에서는 작동하지 않습니다.
Kutools for Excel을 사용하여 중복 행을 제거하고 가장 높은 값만 유지하기
위의 VBA는 일부 사용자에게 충분히 쉬운 방법이 아닐 수 있으며, 기준 열 바로 뒤의 열에서만 최고 값을 유지할 수 있습니다. 그러나 Kutools for Excel의 고급 행 병합 기능은 이 문제를 쉽게 해결할 수 있도록 도와줍니다.
Kutools for Excel - Excel용 필수 도구 300개 이상이 포함되어 있습니다. 영구적으로 무료인 AI 기능을 활용하세요! 지금 다운로드하세요!
1. 중복 행을 제거하고 최고 값을 유지할 테이블을 선택합니다(우리의 경우 A1:C24를 선택하세요). 그리고 Kutools > Merge & Split > Advanced Combine Rows를 클릭합니다.
2. 열기 시작된 열 기반 행 결합 대화 상자에서 다음과 같이 설정하세요:
(1) Fruit 열(중복 행을 제거할 열)을 선택하고 Primary Key 버튼을 클릭합니다;
(2) Amount 열(최고 값을 유지할 열)을 선택하고 Calculate > Max를 클릭합니다.
(3) 필요에 따라 다른 열에 대한 조합 규칙을 지정합니다.
3. Ok 버튼을 클릭합니다. 그러면 모든 중복 행이 Fruit 열을 기준으로 제거되고 Amount 열에는 해당 과일의 최대 값만 남게 됩니다. 스크린샷을 참조하세요:
Kutools for Excel의 고급 행 병합 기능은 한 열을 기준으로 행을 쉽게 병합하고, 이 열을 기준으로 다른 열을 계산할 수 있습니다(Sum, Count, Max, Min, Product 등). 60일 무료 평가판을 클릭하여 제한 없이 사용해 보세요!
데모: Excel에서 중복 행을 제거하고 가장 높은 값만 유지하기
최고의 오피스 생산성 도구
🤖 | Kutools AI Aide: 지능형 실행을 기반으로 데이터 분석 혁신 지능형 실행 | 코드 생성 | 사용자 정의 수식 생성 | 데이터 분석 및 차트 생성 | Kutools Functions 호출… |
인기 기능: 중복 찾기, 강조 또는 중복 표시 | 빈 행 삭제 | 데이터 손실 없이 열 또는 셀 병합 | 반올림... | |
슈퍼 LOOKUP: 다중 조건 VLookup | 다중 값 VLookup | 다중 시트 조회 | 퍼지 매치 .... | |
고급 드롭다운 목록: 드롭다운 목록 신속 생성 | 의존형 드롭다운 목록 | 다중 선택 드롭다운 목록.... | |
열 매니저: 지정 개수 열 추가 | 열 이동 | 숨겨진 열 표시 상태 전환 | 범위 및 열 비교 ... | |
주요 기능: 그리드 포커스 | 디자인 보기 | 향상된 수식 표시줄 | 통합 문서 & 시트 관리 | 자동 텍스트 라이브러리 | 날짜 선택기 | 데이터 병합 | 셀 암호화/해독 | 목록별 이메일 보내기 | 슈퍼 필터 | 특수 필터 (굵게/이탤릭/취소선 필터...)... | |
Top15 도구 세트: 12개 텍스트 도구(텍스트 추가, 특정 문자 삭제, ...) | 50+ 차트 유형(간트 차트, ...) | 40+ 실용 수식(생일을 기반으로 나이 계산, ...) | 19개 삽입 도구(QR 코드 삽입, 경로에서 그림 삽입, ...) | 12개 변환 도구(단어로 변환하기, 통화 변환, ...) | 7개 병합 & 분할 도구(고급 행 병합, 셀 분할, ...) | ... 그리고 그 외 |
Kutools for Excel로 Excel 실력을 한 단계 업그레이드하고, 그 어떤 때보다 뛰어난 효율성을 경험하세요. Kutools for Excel은300개 이상의 고급 기능을 제공하여 생산성을 높이고 저장 시간을 줄여줍니다. 가장 필요한 기능을 지금 바로 확인하세요...
Office Tab이 오피스에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다
- Word, Excel, PowerPoint에서 탭 기반 편집과 읽기를 활성화합니다.
- 여러 문서를 새 창이 아닌 동일한 창의 새 탭에서 열고 생성하세요.
- 생산성이50% 향상되며, 매일 수백 번의 마우스 클릭을 줄일 수 있습니다!