我有一个返回不完整数组的 LET 函数,例如:
Header 1 Header 2
Value 1 3
4
Value 2 5
6
我想要的是
Header 1 Header 2
Value 1 3
Value 1 4
Value 2 5
Value 2 6
我认为 byRow Lambda 组合可能有效,但我不知道当当前行为空白时如何引用值 X(来自上面的行)。
这是旧的 LET 函数:
=LET(数据集,HSTACK(Sheet1!M1:M1000,Sheet1!P3:AH1003),f,FILTER(数据集,ISNUMBER(INDEX(数据集,,18))),HSTACK(INDEX(f,,1),INDEX (f,,2),索引(f,,4),索引(f,,18)))
这是我修改为使用SCAN来填空的:
=LET(f,LET(数据集,HSTACK(Sheet1!M1:M1000,Sheet1!P3:AH1003),f,FILTER(数据集,ISNUMBER(INDEX(数据集,,18))),HSTACK(INDEX(f,, 1),索引(f,,2),索引(f,,4),索引(f,,18))),r,扫描(索引(f,1,1),索引(f,,1), LAMBDA(a,b,IF(b<>"",b,a))),HSTACK(r,DROP(f,,1)))
感谢您有关 SCAN 的提示。正是我所需要的。
这对我有用 = 嵌套的 LET 是我原来的公式:
=LET(f,LET(数据集,HSTACK(Sheet1!M1:M1000,Sheet1!P3:AH1003),f,FILTER(数据集,ISNUMBER(INDEX(数据集,,18))),HSTACK(INDEX(f,, 1),索引(f,,2),索引(f,,4),索引(f,,18))),r,扫描(索引(f,1,1),索引(f,,1), LAMBDA(a,b,IF(b<>"",b,a))),HSTACK(r,DROP(f,,1)))