To automate that all the ranges (which you duplicate yourself) are sequential:
Range, based on Characters index, from 0 to 1, offset has this expression:
thisProperty.propertyGroup(3).propertyIndex-1;
The first Animator has its properties keyframed (position in your example), the following ranges’ properties have this expression:
delay = thisComp.frameDuration*2; //
thisProperty
.propertyGroup(3)(
thisProperty.propertyGroup(2).propertyIndex-1
)
("Properties")
(thisProperty.propertyIndex)
.valueAtTime(time-delay)
You’ll notice that the propertyGroup counts are not intuitive if you try to count up by eyeballing the levels of properties you see in the timeline, because there are some hidden levels: An Animator has a hidden propertyGroup of “Selectors” and a hidden PropertyGroup of “Properties”, and also the animators themselves are inside a propertyGroup “Animators”, all these levels are not represented by a twirly > in the timelines structures.
So, counting up from a property Position to the Pool of animators it is a child of takes 3 steps:
comp
layer
("Text")
("Animators")
("Animator 1")
("Properties")
("Position")