Excel:从列中选择更改范围并复制它

时间:2013-02-02 02:42:06

标签: excel

我有一个很长的列(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 ......是否有任何内置函数来解决问题。

1 个答案:

答案 0 :(得分:0)

这基本上是范围转置的变体。使用公式:

=INDEX($A:$A,COLUMN()+ROW()-2,1)

然后只需复制到您想要的任何窗口大小。对于每一列,它将自动向下移动主列一行。结果如下所示(您负责将公式复制到正确的大小):

Result

奖励,您可以使用以下内容自动化“标题N”列

="Sample " & COLUMN()-1