Why the spreadsheet always loses
Every guest list begins as one column of names, and for a week that is fine. Then replies arrive by text, two people bring partners you add from memory, one family emails three separate messages, and someone on the list has quietly moved without it being recorded. The document you trusted becomes the thing you distrust, and the final number is assembled by gut on the eve of the event.
The structural problem is that the list and the replies live apart. Every answer requires you to transcribe it, and transcription is where guest lists go wrong. The fix is not a better spreadsheet; it is making the reply and the list the same object.
So build in the opposite order: collect names first as the skeleton, then point the invitation at the list so each confirmation lands against its own row. From that point the list maintains itself, and you only ever add to it, never repair it.