递归公式格式化后如下所示:
=LAMBDA(z,
LET(
行, LAMBDA(x, INT((x - 1) / 9) + 1),
列, LAMBDA(x, MOD(x - 1, 9) + 1),
九宫, LAMBDA(x, INT(MOD(x - 1, 9) / 3) + 1 + 3 * INT((x - 1) / 27)),
筛, LAMBDA(x, y, FILTER(z, x = y)),
位置, MATCH(0, z, ),
行判, 筛(行(ROW($1:$81)), 行(位置)),
列判, 筛(列(ROW($1:$81)), 列(位置)),
九宫判, 筛(九宫(ROW($1:$81)), 九宫(位置)),
备选, TOCOL(ROW($1:$9) / ISNA(MATCH(ROW($1:$9), VSTACK(行判, 列判, 九宫判), )), 3),
IF(
ISNA(位置) + (COUNT(备选) = 0),
z,
DROP(REDUCE(0, 备选, LAMBDA(m, n, HSTACK(m, fx(IF(ROW($1:$81) = 位置, n, z))))), , 1)
)
)
)
|