=IF( COLUMNS(range) = 1, IFNA(FILTER(range, range <> "")), LAMBDA( sub_product, last_col, REDUCE( , SEQUENCE(ROWS(sub_product)), LAMBDA( acc, cur, LAMBDA( new_range, IF( cur = 1, new_range, {acc; new_range} ) ) ( { ARRAYFORMULA(IF(SEQUENCE(ROWS(last_col)), INDEX(sub_product, cur,))), last_col } ) ) ) ) ( CARTESIAN_PRODUCT( ARRAY_CONSTRAIN( range, ROWS(range), COLUMNS(range) - 1 ) ), LAMBDA( r, IFNA(FILTER(r, r <> "")) ) ( INDEX(range,, COLUMNS(range)) ) ) )