Forum Discussion
yushang
Mar 20, 2023Brass Contributor
Why this LAMBDA return an array?
Hi guys,
Take a look at the following figure, the formula in D1 is
=LAMBDA(store,col,LET(
x,FILTER(A1:C3,INDEX(A1:C3,0,1)=store,NA()),
IF(NOT(ISNA(x)),INDEX(x,1,col),x)))(2046,3)
Why the returned value is an array? What I expected is the value of C1. Many thanks!
Actually FILTER which is like
FILTER(A1:C3, {true; false; false} ,NA()) (didn't test)
returns first row of the range.
If FILTER(A1:C3, {true, false, false} ,NA())
it returns first column.
Actually FILTER which is like
FILTER(A1:C3, {true; false; false} ,NA()) (didn't test)
returns first row of the range.
If FILTER(A1:C3, {true, false, false} ,NA())
it returns first column.
- yushangBrass Contributor
SergeiBaklan Thanks. I know what's wrong, this is the correct formula
=LAMBDA(store,col,LET(
x,FILTER(A1:C3,INDEX(A1:C3,0,1)=store,NA()),
IF(TYPE(x)=64,INDEX(x,1,col),x)))(2046,3)Yes, this one shall to return single value. However, you don't need NA() with filter (it returns record) and not necessary to check on TYPE(), you may simply return INDEX.
Not sure if there are parameters which are not in range.