【发布时间】:2023-01-16 17:36:49
【问题描述】:
在为这个问题Insert row to separates group of data with header 获取公式解决方案时,我尝试从溢出结果中删除第一行和最后一行。
这是使用的数据:
| column A | column B | column C | |
|---|---|---|---|
| row 1 | pos | item | qty |
| row 2 | p1 | hat | 2 |
| row 3 | p3 | cap | 3 |
我开始了
=DROP(
REDUCE(0,ROW(A2:C3),LAMBDA(x,y,VSTACK(x,A1:C1,INDEX(A:C,y,),{"","",""}))),
1)
然后我不仅要删除 REDUCE 函数的起始值,还要删除最后一行,它总是空白。
为此,我尝试了:
=DROP(
REDUCE(0,ROW(A2:C3),LAMBDA(x,y,VSTACK(x,A1:C1,INDEX(A:C,y,),{"","",""}))),.
{1,-1})
我希望 {1,-1} 数组能够成功(1 是第一行,-1 是最后一行)。然而,这导致:
我无法理解这种行为,所以我在更简单的范围和/或数组上进行了尝试:
在A1我用了=SEQUENCE(3,3)
直接做同样的事情:=DROP(SEQUENCE(3,3),{1,-1}),给出了另一个结果:
有点搞笑:=DROP(SEQUENCE(3,3),{1,1,1,1,1})
结果{4,4,4,4,4}
我知道我可以使用 DROP 两次来获得所需的结果,但我无法解释这种行为。
这是因为数组的第一个参数改变了数组/范围的大小,而 Excel 无法在同一计算中引用它吗?
【问题讨论】:
标签: excel excel-formula excel-365 spill-range