Lo que pides implica elimina nombres duplicados luego con los nombres únicos contar cuantos coinciden después ubicarlos, seccionar esos registros, copiarlos a una nueva hoja y en caso de que esta no exista crearla, con fórmulas no es posible hacer todo eso en forma automática, para ello se requiere o hacerlo manual con la perdida de tiempo que implica o bien a través de una macro y este es el resultado de mi macro que anexo abajo.
Option Explicit
Sub dividirycopiar()
Dim datos As Range, tabla As Range, registros As Range
Dim f As Integer, c As Integer, tf As Integer, i As Integer
Dim cuenta As Integer, fila As Integer
Dim nombre As String
With Range("a1").CurrentRegion
f = .Rows.Count - 1
c = .Columns.Count
End With
Set datos = Range("a2").Resize(f, c)
With datos
Set tabla = .Columns(c + 4).Resize(f, 1)
With tabla
.Value = datos.Columns(4).Value
.RemoveDuplicates Columns:=Array(1)
Set tabla = tabla.CurrentRegion
tf = tabla.Rows.Count
For i = 1 To tf
nombre = .Cells(i, 1)
cuenta = WorksheetFunction.CountIf(datos.Columns(4), nombre)
fila = WorksheetFunction.Match(nombre, datos.Columns(4), 0)
Set registros = datos.Rows(fila).Resize(cuenta, c)
On Error Resume Next
denuevo:
Worksheets(nombre).Range("a2").Resize(cuenta, c).Value = registros.Value
Worksheets(nombre).Range("a1").Resize(1, 5).Value = datos.Rows(0).Value
Worksheets(nombre).Range("a1").CurrentRegion.EntireColumn.AutoFit
If Err.Number = 9 Then
Sheets.Add , after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = nombre
On Error GoTo 0
GoTo denuevo
End If
Next i
.Clear
.EntireColumn.AutoFit
End With
End With
End Sub