The setups above are the right shape, so the part still missing is what breaks them. A sheet is a copy of the state, not the state. After a few bans and replacements the row and the profile drift apart, and the damage isn't untidiness, it's posting from the wrong account and burning a good one.
Two things keep the copy honest. Write the row from the session rather than from memory, so log in and read the account back before you record it. Then audit five random rows a week by opening them cold. The first mismatch tells you where the drift started, which is usually the moment somebody replaced an account and edited only one of the two places.
Best,
Floqal