Skip to content

Instantly share code, notes, and snippets.

@1504168
Created March 14, 2025 08:36
Show Gist options
  • Save 1504168/509abd76e6a52cdb18d13e91b7350b70 to your computer and use it in GitHub Desktop.
Save 1504168/509abd76e6a52cdb18d13e91b7350b70 to your computer and use it in GitHub Desktop.
Excel BI Challenge 672
=LAMBDA(Data,
LET(
_SumCorr, LAMBDA(sum, num_1, num_2, IF(ISNUMBER(sum), sum, IF(AND(ISNUMBER(num_1), ISNUMBER(num_2)), num_1 + num_2, sum))),
_Num1Corrected, LAMBDA(sum, num_1, num_2,
IF(ISNUMBER(num_1), num_1, IF(AND(ISNUMBER(sum), ISNUMBER(num_2)), sum - num_2, num_1))
),
fxrec, LAMBDA(fx, L1In, L21In, L22In, L31In, L32In, L33In, L34In,
LET(
_IsDone, AND(ISNUMBER(HSTACK(L1In, L21In, L22In, L31In, L32In, L33In, L34In))),
Res, IF(
_IsDone,
HSTACK(
EXPAND(L1In, 4, 1, ""),
VSTACK(EXPAND(L21In, 2, 1, ""), EXPAND(L22In, 2, 1, "")),
VSTACK(L31In, L32In, L33In, L34In)
),
LET(
_Level1, _SumCorr(L1In, L21In, L22In),
_Level21, _SumCorr(_Num1Corrected(L1In, L21In, L22In), L31In, L32In),
_Level22, _SumCorr(_Num1Corrected(L1In, L22In, L21In), L33In, L34In),
_Level31, _Num1Corrected(L21In, L31In, L32In),
_Level32, _Num1Corrected(L21In, L32In, L31In),
_Level33, _Num1Corrected(L22In, L33In, L34In),
_Level34, _Num1Corrected(L22In, L34In, L33In),
fx(fx, _Level1, _Level21, _Level22, _Level31, _Level32, _Level33, _Level34)
)
),
Res
)
),
_Result, DROP(
REDUCE(
"",
SEQUENCE(ROWS(Data) / 4, , , 4),
LAMBDA(a, c,
VSTACK(
a,
LET(
grid, TAKE(DROP(Data, c - 1), 4),
fxrec(
fxrec,
INDEX(grid, 1, 1),
INDEX(grid, 1, 2),
INDEX(grid, 3, 2),
INDEX(grid, 1, 3),
INDEX(grid, 2, 3),
INDEX(grid, 3, 3),
INDEX(grid, 4, 3)
)
)
)
)
),
1
),
_Result
)
)(A3:C18)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment