Took some solving but in case someone else stumbles on this with a similar question, the shots are calculated by:
(where G4 is starting handicap and D9 down the SI column)
=IF(G$4>=($D9+1

,2,IF(G$4>=$D9,1,0))
Which makes the stableford points the interesting part. It doesn't work if a 19 handicap gets a hole in one on a par 5, but I think I can live with that...
(Where G9 the gross score, N9 the shots gained above and C9 the SI...)
=IF((G9-N9)=($C9-3),5,IF((G9-N9)=($C9-2),4,IF((G9-N9)=($C9-1),3,IF((G9-N9)=$C9,2,IF((G9-N9)=($C9+1),1,0)))))