A database would be more efficient.

Three tables:
- Visitors
- Sites
- Visits (which links Visitor key with Site key, along with visit date)


It would then be straightforward enough to set up a data entry form, for recording visitor details and their site visits, and then to query this data to answer all your questions.