step 1:
convert the dataset to an actual value holder
=ARRAYFORMULA(IF(C3:J5="x", $C$2:$J$2, ))

step 2:
- multiply combinations between P and F values
drag formula over to the E
column
=ARRAYFORMULA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$9:$B$11&CHAR(9)), COUNTA(C9:C11)), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(C9:C11&CHAR(9), COUNTA($B$9:$B$11))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$9:$B$11&" "&C9:C11}, 1, 0), ))

step 3:
- multiply combinations between P&F and C values
- drag formula over to the
J
column
repeat logic for each P&F value (eg. G18
and G22
)
=ARRAYFORMULA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($C$14:$C$17&CHAR(9)), COUNTA(G9:G11)), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(G9:G11&CHAR(9), COUNTA($C$14:$C$17))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$C$14:$C$17&" "&G9:G11}, 1, 0), ))

step 4:
extract all combinations and split them into separate cells
=ARRAYFORMULA(SPLIT(QUERY({G14:G25; H14:H25; I14:I25; J14:J25},
"select * where Col1 is not null order by Col1 asc", 0), " "))

step 5: (only for hardcore long-formula-lovers)
- basically all of it can be packed up in one-cell solution
=ARRAYFORMULA(SPLIT(QUERY({
ARRAYFORMULA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not Null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1)}, 1, 0), )&CHAR(9)),
COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,5))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,5)&CHAR(9),
COUNTA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1)}, 1, 0), )))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1)}, 1, 0), )&" "&
INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,5)}, 1, 0), ));
ARRAYFORMULA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1)}, 1, 0), )&CHAR(9)),
COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,6))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,6)&CHAR(9),
COUNTA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1)}, 1, 0), )))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1)}, 1, 0), )&" "&
INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,6)}, 1, 0), ));
ARRAYFORMULA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1)}, 1, 0), )&CHAR(9)),
COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,7))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,7)&CHAR(9),
COUNTA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1)}, 1, 0), )))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1)}, 1, 0), )&" "&
INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,7)}, 1, 0), ));
ARRAYFORMULA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1)}, 1, 0), )&CHAR(9)),
COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,8))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,8)&CHAR(9),
COUNTA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1)}, 1, 0), )))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,1)}, 1, 0), )&" "&
INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,8)}, 1, 0), ));
ARRAYFORMULA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2)}, 1, 0), )&CHAR(9)),
COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,5))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,5)&CHAR(9),
COUNTA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2)}, 1, 0), )))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2)}, 1, 0), )&" "&
INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,5)}, 1, 0), ));
ARRAYFORMULA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2)}, 1, 0), )&CHAR(9)),
COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,6))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,6)&CHAR(9),
COUNTA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2)}, 1, 0), )))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2)}, 1, 0), )&" "&
INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,6)}, 1, 0), ));
ARRAYFORMULA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2)}, 1, 0), )&CHAR(9)),
COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,7))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,7)&CHAR(9),
COUNTA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2)}, 1, 0), )))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2)}, 1, 0), )&" "&
INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,7)}, 1, 0), ));
ARRAYFORMULA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2)}, 1, 0), )&CHAR(9)),
COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,8))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,8)&CHAR(9),
COUNTA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2)}, 1, 0), )))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,2)}, 1, 0), )&" "&
INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,8)}, 1, 0), ));
ARRAYFORMULA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3)}, 1, 0), )&CHAR(9)),
COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,5))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,5)&CHAR(9),
COUNTA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3)}, 1, 0), )))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3)}, 1, 0), )&" "&
INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,5)}, 1, 0), ));
ARRAYFORMULA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3)}, 1, 0), )&CHAR(9)),
COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,6))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,6)&CHAR(9),
COUNTA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3)}, 1, 0), )))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3)}, 1, 0), )&" "&
INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,6)}, 1, 0), ));
ARRAYFORMULA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3)}, 1, 0), )&CHAR(9)),
COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,7))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,7)&CHAR(9),
COUNTA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3)}, 1, 0), )))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3)}, 1, 0), )&" "&
INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,7)}, 1, 0), ));
ARRAYFORMULA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3)}, 1, 0), )&CHAR(9)),
COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,8))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,8)&CHAR(9),
COUNTA(IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3)}, 1, 0), )))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {IFERROR(VLOOKUP(IFERROR(QUERY(ARRAYFORMULA(UNIQUE(
TRANSPOSE(SPLIT(REPT(CONCATENATE($B$3:$B&CHAR(9)), COUNTA(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3))), CHAR(9)))&" "&
TRANSPOSE(SPLIT(CONCATENATE(REPT(INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3)&CHAR(9), COUNTA($B$3:$B))), CHAR(9))))),
"select Col1 where Col1 is not null", 0), ), {$B$3:$B&" "&INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,3)}, 1, 0), )&" "&
INDEX(IF($C$3:$J="x", $C$2:$J$2, ), ,8)}, 1, 0), ))},
"select * where Col1 is not null order by Col1 asc", 0), " "))

