我有如下的佈局數據(每個「數字」在它自己的列,但所有的Excel行1):移調行一次四個列(行4列的矩陣)
1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7
我怎麼可能會很容易地將它轉換爲:
1 2 3 4
5 6 7 8
9 1 2 3
4 5 6 7
我想每四個數據的添加,在單獨的列,新行彼此下方。
我有如下的佈局數據(每個「數字」在它自己的列,但所有的Excel行1):移調行一次四個列(行4列的矩陣)
1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7
我怎麼可能會很容易地將它轉換爲:
1 2 3 4
5 6 7 8
9 1 2 3
4 5 6 7
我想每四個數據的添加,在單獨的列,新行彼此下方。
如果你的數據在A1開始,請嘗試在A3,對面d和向下複製到西裝:
=OFFSET($A$1,,COLUMN()+4*(ROW()-2)-5)
這已經回答了,但只是爲了好玩,這裏有一個版本是非易失性的,不需要被放置在特定的位置:
=INDEX($A$1:$P$1,4*(ROW($A$1:$D$4)-1)+COLUMN($A$1:$D$4))
更換範圍$A$1:$P$1
上面要重新排列的任何範圍,並輸入作爲數組公式。 (選擇整個4x4範圍,輸入公式,並在完成時按ctrl-shift-enter鍵,而不是輸入。)請注意,$A$1:$D$4
是一個常量,用於獲取連續數字。
另一種方式 - 更短的公式,但需要進行一些設置:
創建一個命名的範圍,我們稱之爲矩陣1:
1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
你可以把矩陣上的另一個,可能是隱藏,工作表,或者你可以只使用一個數組常量:
={1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1}
而另一位,讓我們稱之爲矩陣2:
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
或:
={1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1;1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1;1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1;1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1}
則公式僅僅是:
=MMULT(Matrix1*$A$2:$P$2,Matrix2)
再次,選擇整個4×4範圍,並輸入作爲數組公式。
你可以,當然,輸入數組常量到直接的公式,但得到笨拙:
=MMULT({1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1}*$A$2:$P$2,{1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1;1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1;1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1;1,0,0,0;0,1,0,0;0,0,1,0;0,0,0,1})
謝謝!這樣可行。 – Brett 2014-09-20 15:44:10