I’m completely unsure of what I’m gonna say (as a news user, I sometimes have difficulties putting my mind into docs I didn’t create (but I’m working on that )) but have you try a ModifyRows() with Last()-3 for the rank that needs to be changed ?
Maybe this could help too ?
(By the way, I like your idea of the virtual flash-cards system for teaching words to your son . This is pretty cool )