将行中特定单元格的值复制到MS Excel中的列中

尝试了解如何在Microsoft Excel中编写函数 。 我创build了一个简单的例子来练习一些简单的操作。 即如何从行(在两个给定单元格之间以及具有指定范围的行)以特定顺序获取所有值,并将它们复制到单独的列上

从下面的例子可以看出,我有3组值( ALPHABETAGAMMA ),每个值的数值在4列(A,B,C和D)和7行上,最后一行最后一列(D列)是空的。 (A,1),(A,9)和(A,18))之前,每一组值都有一个位于A列上的标题名称。

  ABCD 1 ALPHA_VALUES 2 2.93E+02 7.15E+02 1.22E+03 1.27E+03 3 1.84E+03 1.77E+03 1.88E+03 1.97E+03 4 2.10E+03 2.14E+03 2.17E+03 2.18E+03 5 2.10E+03 2.20E+03 2.19E+03 2.18E+03 6 1.33E+03 1.25E+03 1.30E+03 1.13E+03 7 9.83E+02 9.03E+02 8.20E+02 7.32E+02 8 5.37E+02 4.24E+02 2.93E+02 9 BETA_VALUES 10 0.00E+00 8.71E-10 2.53E-09 1.50E-08 11 5.20E-07 2.11E-06 6.49E-06 1.61E-05 12 6.38E-05 1.08E-04 1.68E-04 2.43E-04 13 4.32E-04 5.51E-04 7.38E-04 1.00E-03 14 1.88E-03 2.54E-03 3.33E-03 4.27E-03 15 6.06E-03 6.92E-03 7.68E-03 8.31E-03 16 2.67E-03 1.44E-03 0.00E+00 17 GAMMA_VALUES 18 0.00E+00 5.85E-14 8.74E-12 1.47E-10 19 1.29E-08 7.45E-08 3.01E-07 9.09E-07 20 4.51E-06 8.04E-06 1.27E-05 5.81E-05 21 2.89E-05 3.46E-05 4.04E-05 4.44E-05 22 3.83E-05 2.69E-05 1.70E-05 1.27E-05 23 7.26E-06 4.85E-06 3.01E-06 1.78E-06 24 6.17E-14 2.22E-15 0.00E+00 

我想在上面的每一个单独的列上复制3个集合。 为了获取每一行的单元格的数据,我希望数据被复制到一个新的单独的列,如果从左到右; 即对于APLHA_VALUES结果列应该是这样的:

 2.93E+02 7.15E+02 1.22E+03 1.27E+03 1.84E+03 1.77E+03 1.88E+03 1.97E+03 2.10E+03 2.14E+03 2.17E+03 2.18E+03 1.33E+03 1.25E+03 1.30E+03 1.13E+03 9.83E+02 9.03E+02 8.20E+02 7.32E+02 5.37E+02 4.24E+02 2.93E+02 

任何示例代码,让我开始如何获取和复制列上指定的数据将不胜感激。

修改示例为了更好地展示配方的工作原理 ):

〜为每组添加一个额外的列和三个额外的行。 还在前6行中添加了一些不参与公式的数据。

  ABCDE 1 blah 2 blah 4124 3 blah 342 4 blah 321 5 blah 43 6 blah 7 ALPHA_VALUES 8 2.93E+02 7.15E+02 1.22E+03 1.27E+03 1.27E+03 9 1.84E+03 1.77E+03 1.88E+03 1.97E+03 1.97E+03 10 2.10E+03 2.14E+03 2.17E+03 2.18E+03 1.97E+03 11 2.10E+03 2.20E+03 2.19E+03 2.18E+03 1.97E+03 12 1.33E+03 1.25E+03 1.30E+03 1.13E+03 1.97E+03 13 9.83E+02 9.03E+02 8.20E+02 7.32E+02 1.97E+03 14 2.10E+03 2.20E+03 2.19E+03 2.18E+03 1.97E+03 15 1.33E+03 1.25E+03 1.30E+03 1.13E+03 1.97E+03 16 9.83E+02 9.03E+02 8.20E+02 7.32E+02 1.97E+03 17 5.37E+02 4.24E+02 2.93E+02 18 BETA_VALUES 19 0.00E+00 8.71E-10 2.53E-09 1.50E-08 1.50E-08 20 5.20E-07 2.11E-06 6.49E-06 1.61E-05 1.50E-08 21 6.38E-05 1.08E-04 1.68E-04 2.43E-04 1.50E-08 22 4.32E-04 5.51E-04 7.38E-04 1.00E-03 1.50E-08 23 1.88E-03 2.54E-03 3.33E-03 4.27E-03 1.50E-08 24 6.06E-03 6.92E-03 7.68E-03 8.31E-03 1.50E-08 25 4.32E-04 5.51E-04 7.38E-04 1.00E-03 1.50E-08 26 1.88E-03 2.54E-03 3.33E-03 4.27E-03 1.50E-08 27 6.06E-03 6.92E-03 7.68E-03 8.31E-03 1.50E-08 28 2.67E-03 1.44E-03 0.00E+00 29 GAMMA_VALUES 30 0.00E+00 5.85E-14 8.74E-12 1.47E-10 1.47E-10 31 1.29E-08 7.45E-08 3.01E-07 9.09E-07 1.47E-10 32 4.51E-06 8.04E-06 1.27E-05 5.81E-05 1.47E-10 33 2.89E-05 3.46E-05 4.04E-05 4.44E-05 1.47E-10 34 3.83E-05 2.69E-05 1.70E-05 1.27E-05 1.47E-10 35 7.26E-06 4.85E-06 3.01E-06 1.78E-06 1.47E-10 36 2.89E-05 3.46E-05 4.04E-05 4.44E-05 1.47E-10 37 3.83E-05 2.69E-05 1.70E-05 1.27E-05 1.47E-10 38 7.26E-06 4.85E-06 3.01E-06 1.78E-06 1.47E-10 39 6.17E-14 2.22E-15 0.00E+00 

你正在寻找的公式是INDEX:

 =INDEX($A:$D,INT((ROW(1:1)-1)/4)+1+MATCH(F$1,$A:$A,0),MOD(ROW(1:1)-1,4)+1) 

把它在F2中复制两列,然后下降到27。

在这里输入图像说明