作者JieJuen (David)
看板Office
標題Re: [算表] 將數字分行
時間Wed Nov 21 15:09:56 2007
現在左邊是
三個數一列
C D E F G H I J
1 2 3 1 2 3 4
4 5 6 5 6 7 8
7 8 9 9 10 11 12
10 11 12 =?=> 13 14 15 16
13 14 15 17 18 19 20
16 17 18 21 22 23 24
19 20 21
22 23 24
如何變成右邊的
四個數一列?
[法一]
基本元素:
ROW()-ROW($G$1) 列號0 1 2 3...
COLUMN()-COLUMN($G$1) 欄號0 1 2 3...
列號處理:
INT((4*(ROW()-ROW($G$1))+COLUMN()-COLUMN($G$1))/3)
效果:
0 0 0 1
1 1 2 2
2 3 3 3
註: 4*(ROW()-ROW($G$1))+COLUMN()-COLUMN($G$1) 效果為
0 1 2 3
4 5 6 7
8 9 10 11
欄號處理:
MOD(ROW()-ROW($G$1)+COLUMN()-COLUMN($G$1),3)
效果:
0 1 2 0
1 2 0 1
2 0 1 2
結論:
G1
=OFFSET($C$1,
INT((4*(ROW()-ROW($G$1))+COLUMN()-COLUMN($G$1))/3),
MOD(ROW()-ROW($G$1)+COLUMN()-COLUMN($G$1),3))
[法二]
基本元素:
ROW(1:1)-1 列號0 1 2 3...
COLUMN(A:A)-1 欄號0 1 2 3...
(也可以用A1,但A1或其他有參照到的儲存格被覆蓋時會#REF!,
而上式當第一列或第一欄或其他有參照到的欄、列全被覆蓋時會#REF!
被搬移時可能會有誤.
此法公式短一點、方便些,但多一點危險)
原理同上,結論:
=OFFSET($C$1,INT((4*ROW(1:1)+COLUMN(A:A)-5)/3),MOD(ROW(1:1)+COLUMN(A:A)-2,3))
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.164.52.117
※ 編輯: JieJuen 來自: 122.123.37.251 (11/21 23:44)
推 plancklin:有點複雜,不過很好用,大推 11/22 12:19
推 ddx:努力看懂中...XD 11/23 23:49