如何交换多列

时间:2013-05-10 13:05:12

标签: excel excel-2010 multiple-columns

使用Microsoft Excel 2010,我有一个电子表格,其中包含来自5个不同数据文件的数据(每个数据文件有14列,因此共有70列)。我需要做的是以这种方式对这些列进行排序:1.,15.,29.,43.,57。,2.,16。,......等等。

基本上,我需要连续5个数据文件中的第一列,然后是第二列等。在Excel中是否有某种方法如何编写此序列?我试过替换,地址和间接,但没有任何结果。我可以手动编写它,但是因为我需要不同的电子表格,我认为有一个实际的命令可能很方便。

2 个答案:

答案 0 :(得分:1)

首先在最终的电子表格中使用以下公式:

=INDEX({"Sheet1";"Sheet2";"Sheet3";"Sheet4";"Sheet5"},MOD(COLUMN()-1,5)+1)

如果您将此公式粘贴到最终电子表格的每一列,它将从Sheet1Sheet5A列循环到E等。您可以写下该名称您的文件及其中的电子表格目标,这将作为公式参考的基础。

公式的工作方式如下:在COLUMN索引值上应用模数后,我们得到INDEX用来从constant array获取一个项目的数字1到5

现在我们通过电子表格获得了循环的基础,我们现在需要一组5列A,然后5列B等。我们使用这个:

=QUOTIENT(COLUMN()-1, 5)+1

现在我们可以将它们与ADDRESS

结合起来
=ADDRESS(ROW(),QUOTIENT(COLUMN()-1, 5)+1,1,1,INDEX({"Sheet1";"Sheet2";"Sheet3";"Sheet4";"Sheet5"},MOD(COLUMN()-1,5)+1))

如果您在范围A1:J3上粘贴并扩展公式,您将获得以下地址:

Sheet1!$A$1 Sheet2!$A$1 Sheet3!$A$1 Sheet4!$A$1 Sheet5!$A$1 Sheet1!$B$1 Sheet2!$B$1 Sheet3!$B$1 Sheet4!$B$1 Sheet5!$B$1
Sheet1!$A$2 Sheet2!$A$2 Sheet3!$A$2 Sheet4!$A$2 Sheet5!$A$2 Sheet1!$B$2 Sheet2!$B$2 Sheet3!$B$2 Sheet4!$B$2 Sheet5!$B$2
Sheet1!$A$3 Sheet2!$A$3 Sheet3!$A$3 Sheet4!$A$3 Sheet5!$A$3 Sheet1!$B$3 Sheet2!$B$3 Sheet3!$B$3 Sheet4!$B$3 Sheet5!$B$3

最后我们用INDIRECT包装此公式以获取实际数据:

=INDIRECT(ADDRESS(ROW(),QUOTIENT(COLUMN()-1, 5)+1,1,1,INDEX({"Sheet1";"Sheet2";"Sheet3";"Sheet4";"Sheet5"},MOD(COLUMN()-1,5)+1)))

答案 1 :(得分:1)

1中输入ColumnA,按住 Ctrl 拖动到ColumnN。选择所有十四个单元格并按住 Ctrl 拖动到ColumnBR。按添加的1等行添加最小到最大的列。