much easier...
For 2019, 365
Sub test()
With Sheets("sheet1").Cells(1).CurrentRegion
.Columns("e").Value = .Parent.Evaluate("index(minifs(" & .Columns("e").Address & _
"," & .Columns(1).Address & "," & .Columns("a").Address & "),,)")
.Columns("e").NumberFormatLocal = "m/d/yyyy"
End With
End Sub
Or if 2016 or earlier, then
Sub test()
With Sheets("sheet1")
.Columns("e").Insert
With .Range("e1", Range("a" & Rows.Count).End(xlUp)(1, 5))
.Cells(1).FormulaArray = "=min(if(a1:a" & .Rows.Count & "=a1,f1:f" & .Rows.Count & "))"
.FillDown: .Value = .Value
.NumberFormatLocal = "m/d/yyyy"
End With
.Columns("f").Delete
End With
End Sub
Bookmarks