Here is a form based on @Jguzman2's excellent example that puts all the pieces together. This strategy will work for collecting information on all household members and will only consider eligible people, no matter how many there are.
You may notice that indexed-repeat(${name}, ${hh1}, if(${selectedWoman} != null, ${selectedWoman}, 1)) is a little more complex than what I had suggested above. That's because of a limitation described under the heading "indexed-repeat failure before adding 2nd repeat group" here. @Megan_Schroeder brought this up in Indexed-Repeat Error for previously defined integer as the third argument and it will be fixed in the next Collect release such that the if will no longer be necessary (but it will be fine to leave it in).
You can certainly "unroll" things as @Fabla did but keep in mind that it requires you to make hard assumptions on the maximum number of possible eligible people and will result in more columns in the dataset.