【エクセルマクロ】重複データから最大値を抽出:作業効率アップテクニック

エクセルマクロ_重複データから最大値を抽出_アイキャッチ エクセルマクロで効率化する

エクセルマクロで、重複データから最大値を抽出するVBAコードをご紹介します。

このページのマクロコードは、コピペで使えます。
せひ、お試しください。

重複データから最大値を抽出

以下のExcelVBAを実行すると、重複データから最大値を表示します。

Sub 重複データから一番大きい数値を取り出す()
   
Dim DicName As Variant
Dim DicCount As Variant
Dim i As Long
Dim j As Long
Dim Cnt As Long
Dim Ten As Long
Dim LastRow As Long
Dim GetName As String
Dim myKey As Variant
  
    '連想配列
    Set DicName = CreateObject("Scripting.Dictionary")
    Set DicCount = CreateObject("Scripting.Dictionary")
      
    '最終行
    LastRow = Cells(Rows.Count, 1).End(xlUp).Row
  
    '列をループ
    For i = 2 To LastRow
  
        '値を変数へ
        GetName = Cells(i, 1)

        '重複しないリストを連想配列へ
        If Not DicName.Exists(GetName) Then
            DicName.Add GetName, GetName
        Else
            '重複しているリストを連想配列へ
            If Not DicCount.Exists(GetName) Then
                 DicCount.Add GetName, GetName
            End If
        End If
    Next i
     
    myKey = DicCount.keys
    Cnt = 2
         
    '重複しているリスト分ループ
    For i = 0 To UBound(DicCount.items)
    
        Ten = 0
     
        For j = 1 To LastRow
            If Cells(j, 1) = myKey(i) Then
             
                '数値を比較
                If Ten < Cells(j, 2) Then
                    Ten = Cells(j, 2)
                End If
                  
            End If
        Next j
        
    '最大値を転記
        Cells(Cnt, 4) = myKey(i)
        Cells(Cnt, 5) = Ten
        Cnt = Cnt + 1
         
    Next i
       
    Set DicName = Nothing
    Set DicCount = Nothing
       
End Sub

 

マクロ実行後

重複しているデータの中から一番大きい数値を抽出しました。

A列に重複データがある時、対応するB列の中で一番大きい数値を抽出して転記します。


 
 

【エクセルマクロ】重複データを自動操作:超便利8選
...