Sub test() Dim temp_area As Double Dim temp_di_lei As String temp_area = 0 temp_di_lei = "" i = 1 Do While Cells(i, 3).Value <> "" If Cells(i, 3).Value <> Cells(i + 1, 3).Value And temp_area = 0 Then '說明只有一個小班 Cells(i, 7).Value = Cells(i, 2).Value End If If Cells(i, 3).Value = Cells(i + 1, 3).Value Then '說明是相同小班 If Cells(i, 6).Value < Cells(i + 1, 6).Value And Cells(i + 1, 6).Value > temp_area Then temp_area = Cells(i + 1, 6).Value temp_di_lei = Cells(i + 1, 2).Value End If If Cells(i, 6).Value > Cells(i + 1, 6).Value And Cells(i, 6).Value > temp_area Then temp_area = Cells(i, 6).Value temp_di_lei = Cells(i, 2).Value End If End If If Cells(i, 3).Value <> Cells(i + 1, 3).Value And temp_area <> 0 Then '說明當前這一行小班號和下一行小班號不同(相同小班結束) Cells(i, 7).Value = temp_di_lei '輸出最大的數據. temp_area = 0 temp_di_lei = "" End If i = i + 1 Loop End Sub