OK I hope I finally got this. With two loop nested into each other and (again) not using the recursive loop but storing the data in between into a temporary file.
The workflow assumes the start of an inner loop is an empty cell (one empty cell) or a “?”. Otherwise it may throw an error. I tested it against your target list and the positions do all match.
