我有一个很长的列(50000行),我想选择一个范围(样本)的单元格(行数),以便应用某些计算。您不必担心计算公式。在这里,我只需要有关如何进行采样的帮助。范围(样本)应根据窗口大小而变化。窗口大小是我可以选择的数字。例如,在下面的示例中,我选择窗口大小为4.换句话说,我需要有样本,并且这些样本基于长列的选定行数。所有样本的大小(行数)将等于窗口大小。但是,每个样本从主列移位一个。现在,样本应该是单独的列,这就是为什么我需要在每个样本中复制其所需列中的选择。为了说明的目的,假设以下示例: 假设窗口大小(行数)= 4
test
1
2
3
4
5
6
7
8
9
10
预期输出应为:
main col sample1 sample2 sample3 sample4 sample5 sample6
1 1 2 3 4 5 6
2 2 3 4 5 6 7
3 3 4 5 6 7 8
4 4 5 6 7 8 9
5
6
7
8
9
10
每个大小为4行的样本,然而,每个新样本从主列中移出1。请注意,我们得到6个样本来覆盖主列中的整行数。基本上应该做什么:sample1将来自主col的row1到row4。现在,sample2将是4个值,但是,从第2行到第5行,来自主列。 sample3将是4个值,从第3行到第6行,依此类推,直到我们覆盖主列的整个范围。所以有两个主要过程,选择和选择副本。
我曾尝试使用偏移和其他逻辑功能......但它没有用。我不想使用宏或VBA ......是否有任何内置函数来解决问题。
答案 0 :(得分:0)
这基本上是范围转置的变体。使用公式:
=INDEX($A:$A,COLUMN()+ROW()-2,1)
然后只需复制到您想要的任何窗口大小。对于每一列,它将自动向下移动主列一行。结果如下所示(您负责将公式复制到正确的大小):
奖励,您可以使用以下内容自动化“标题N”列
="Sample " & COLUMN()-1