RosettaCodeData/Task/Department-numbers/Excel/department-numbers-2.excel
2023-07-01 13:44:08 -04:00

43 lines
790 B
Text

cartesianProduct
=LAMBDA(xs,
LAMBDA(ys,
LET(
ny, ROWS(ys),
ixs, SEQUENCE(ROWS(xs) * ny, 2, 1, 1),
IF(0 <> MOD(ixs, 2),
INDEX(xs,
1 + QUOTIENT(ixs, ny * 2)
),
LET(
r, MOD(QUOTIENT(ixs, 2), ny),
INDEX(ys, IF(0 = r, ny, r))
)
)
)
)
)
validRows
=LAMBDA(xs,
LET(
ixs, SEQUENCE(ROWS(xs), 1, 1, 1),
valids, FILTER(
ixs,
LAMBDA(i,
NOT(ISNA(INDEX(xs, i)))
)(ixs)
),
INDEX(
xs,
valids,
SEQUENCE(
1,
COLUMNS(xs)
)
)
)
)