Report for number of events attended by each person
I think you can get what you want with the "Event Participants Report" (under the Events > Event Reports Menu). In the "Sorting" tab, just tick the box for "Section Header / Group By" against "Last Name, First Name". You use the "Filters" tab to restrict to a particular time period, set of events etc.

In general if I can't do something off the shelf in CiviCRM then I export a search result or report to Excel and manipulate it there. A lot easier than writing a new report. In this case I would have used the Subtotal function in Excel if I couldn't have done it within CiviCRM.