ご指摘のとおり、ワークシート関数でできると思います。
VBAの学習目的と見なして、作成してみました。参考にしてみてください。
A列 B C D E F G H I J K
1行
2 佐藤 〇 ◎ 〇 〇 ◎ ●
3 鈴木 ● ● 佐藤 4 1 1
4 佐藤 ● 〇 〇 鈴木 0 2 5
5 山田 ◎ ◎ 山田 0 2 0
6 加藤 ◎ 〇 加藤 1 1 0
7 鈴木 ◎ ◎
8 鈴木 ● ● ●
Sub test()
Dim mat(1 To 4, 1 To 3) As Long '4人、3項目は予め判明しているものとした
Dim i As Long, j As Long, p As Long
For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
Select Case Cells(i, "A")
Case "佐藤": p = 1
Case "鈴木": p = 2
Case "山田": p = 3
Case "加藤": p = 4
End Select
For j = 2 To Cells(2, Columns.Count).End(xlToLeft).Column
Select Case Cells(i, j).Value
Case "〇": mat(p, 1) = mat(p, 1) + 1
Case "◎": mat(p, 2) = mat(p, 2) + 1
Case "●": mat(p, 3) = mat(p, 3) + 1
End Select
Next
Next
Range("I3").Resize(UBound(mat, 1), UBound(mat, 2)) = mat
End Sub