Both of those work! I didn't know about gindex, and that seems useful. I kept looking for some way to have a 'where' apply after an earlier 'where' without multiple queries, and the conditional shows a way to do that.
The conditional also suggests this solution:
extract () unless first value where 1<count index by value from str