我有一个可变高度的VSTACK 输出,它可以有或没有前导空白值:
<blank>
1
<blank>
2
3
<blank>
我正在尝试删除前面的空白,如下所示:
IF(INDEX(<vstack_output>;1)="";
DROP(<vstack_output>;1);
<vstack_output>)
其计算结果为 TRUE 并删除第一个单元格,将其他值上移,但由于某种原因,输出中的最后一个单元格仍保留#N/A 错误:
1
<blank>
2
3
<blank>
#N/A // This should not be here
奇怪的是,我注意到将IF 的 FALSE 语句的值更改为随机字符串......
IF(INDEX(<vstack_output>;1)="";
DROP(<vstack_output>;1);
"random string instead of vstack output")
...实际上使 TRUE 语句按预期工作,给出以下所需的输出(请注意,它不仅删除了初始空白,还修剪了列,使其比单元格短一个):
1
<blank>
2
3
<blank>
上面的输出与我没有使用 IF 时的输出相同DROP(<vstack_output>;1)
。
我猜想这可能与数组在内存中的存储方式有关,但除此之外我一无所知。您知道为什么 TRUE if 输出可能会根据 FALSE 参数而改变吗?