尝试:
=ARRAYFORMULA(SUBSTITUTE(QUERY(FLATTEN(FLATTEN(
QUERY(FLATTEN(IF(IFERROR(SPLIT(B2:B, ","))=IF(,,),,
A2:A&SPLIT(B2:B, ","))), "where Col1 is not null")&
IFERROR(SPLIT(QUERY(FLATTEN(IF(IFERROR(SPLIT(B2:B, ","))=IF(,,),,
IF(C2:C=IF(,,), IF(E2:E=IF(,,), CHAR(32),
SUBSTITUTE("-"&E2:E, ",", ",-")), SUBSTITUTE("-"&C2:C, ",", ",-"))))&"",
"where Col1 is not null limit "&COLUMNS(SPLIT(TEXTJOIN(",", 1, B2:B), ","))), ",")))&
IF(IF(,,)=IFERROR(SPLIT(FLATTEN(
IF(IF(,,)=IFERROR(SPLIT(QUERY(FLATTEN(IF(IFERROR(SPLIT(B2:B, ","))=IF(,,),,
IF(C2:C=IF(,,), IF(E2:E=IF(,,), CHAR(32), E2:E), C2:C)))&"",
"where Col1 is not null limit "&COLUMNS(SPLIT(TEXTJOIN(",", 1, B2:B), ","))), ",")),,
QUERY(FLATTEN(IF(IFERROR(SPLIT(B2:B, ","))=IF(,,),,
IF(D2:D=IF(,,), IF(F2:F=IF(,,), CHAR(32), F2:F), D2:D)))&"",
"where Col1 is not null limit "&COLUMNS(SPLIT(TEXTJOIN(",", 1, B2:B), ","))))), ",")), 0/0,
SPLIT(FLATTEN(IF(IF(,,)=IFERROR(SPLIT(QUERY(FLATTEN(IF(IFERROR(SPLIT(B2:B, ","))=IF(,,),,
IF(C2:C=IF(,,), IF(E2:E=IF(,,), CHAR(32), E2:E), C2:C)))&"",
"where Col1 is not null limit "&COLUMNS(SPLIT(TEXTJOIN(",", 1, B2:B), ","))), ",")),,
QUERY(FLATTEN(IF(IFERROR(SPLIT(B2:B, ","))=IF(,,),,
IF(D2:D=IF(,,), IF(F2:F=IF(,,), CHAR(32),
SUBSTITUTE("-"&F2:F, ",", ",-")), SUBSTITUTE("-"&D2:D, ",", ",-"))))&"",
"where Col1 is not null limit "&COLUMNS(SPLIT(TEXTJOIN(",", 1, B2:B), ","))))), ","))),
"where Col1 contains '-'"), CHAR(32), ))