2013-05-10 37 views
-1

使用Microsoft Excel 2010,我有一個電子表格,其中包含來自5個不同數據文件(每個具有14列,所以共70列)的數據。我需要做的是按照這種方式對這些欄目進行排序:1.,15.,29.,43.,57.,2.,16。,等等。如何交換多列

基本上,我需要從一個行中的5個數據文件中的第一列,然後第二列等。有什麼方法在Excel中如何寫這個序列?我嘗試了替代,地址和間接,但沒有任何結果。我可以手動編寫它,但由於我需要使用不同的電子表格,因此我認爲可以方便地獲得實際的命令。

+0

數據文件格式是什麼?向我們展示您嘗試過的方式,並且可能有辦法引導您走上正確的道路。 – 2013-05-10 13:45:18

回答

1

開始用下面的公式在最終的電子表格:如果你貼在你的每一列最後的表格這個公式

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

,它會循環從Sheet1Sheet5AE等你在其中寫入文件的名稱和電子表格目標,這將作爲公式參考的基礎。

的公式的工作原理如下:用施加在COLUMN指數值的模,我們得到從1至5的數字被用來通過INDEXconstant array得到一個項目。

現在,我們通過電子表格得到循環的基礎上,我們現在需要一組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))) 
+0

佈德,這太棒了!非常感謝。 – Martin 2013-05-13 09:18:51

1

ColumnACtrl鍵按下輸入1,拖過要ColumnN。選擇所有十四個單元格並拖動到ColumnBRCtrl按下。按列添加1等排列最小到最大列