作者JieJuen (David)
看板Office
标题[目录] Excel FAQ: 用OFFSET 转置.分行(栏).行转列.
时间Sat Apr 5 04:17:36 2008
转置可说是超级FAQ呀,而且各种要求的型式实在太过丰富
虽然"同理可得",但还是怕第一次用的人雾里看花啊
再加上这样的问题很难下标题,也不知如何爬文
已经值得写一篇"目录"了 XD
1. 最基本的转置:
A1 A1 B1 A1 A2 A3
A2 ←→ A1 A2 A3 A2 B2 ←→ B1 B2 B3
A3 A3 B3
法一:复制後使用"选择性贴上"(右键)/转置
法二:公式
=OFFSET($A$1,COLUMN(A:A)-1,ROW(1:1)-1)
法三法四法五法...(略):TRANSPOSE.INDEX.INDIRECT.
#17HrwsuY 3912 411/24 JieJuen □ [算表] EXCEL:连结文字-多格 名称快速键
#179QED4n 3634 10/29 JieJuen R: [问题] excel 储存格直式转成横式
(後来发现...这是我在本版的第一篇文章,就是探讨这个问题...果真是超级FAQ..)
#19SncH-X 8349 1 1/18 yazad □ [算表] EXCEL 数值计算,转置,OFFSET
2. n个一列
A C D E F G H I J
-------------------------------------------------------
A1 A1 A2 A3 A4 A5 A6 A7 A8
A2 A9 A10 A11 A12 A13 A14 A15 A16
A3 A17..............
=OFFSET($A$1,8*(ROW(1:1)-1)+(COLUMN(A:A)-1),)
#14hFpz-t 156 3 7/06 yggdrasils □ [算表] EXCE行转列的问题
#17GX8JVz 3872 211/20 JieJuen R: [算表] 将数字分行
#17AV_DVx 3675 m 411/02 JieJuen □ [算表] Excel较少被提及的函数与小技巧
#179LxLi_ 3633 10/29 JieJuen R: [算表] Excel横轴、纵轴转换问题
反方向转换
#18kUksd_ 6803 8/31 jojoba26 □ [算表] 请问如何将一矩阵中的数字改为一列?
#19ms3w5H 8938 2 3/20 SunFsClony □ [算表] EXCEL横转直--n个一列→一栏,转置
(此文中有进一步说明)
#1A4t_PYW 9677 1 5/20 sqnan □ [算表] 如何把两栏资料交错并成一栏
3. n个一栏
A B C D
--------------------------------------
A1 A1 A61 A121
A2 A2 A62 A122
A3 A3 A63 A123
... ............
A60 A60 A120 A180
A61
...
=OFFSET($A$1,60*(COLUMN(A:A)-1)+ROW(1:1)-1,)
#17zd4Nd_ 5272 4/05 JieJuen R: [问题] 如何每60个资料贴成新的一栏?
#17IPksbe 3929 11/25 JieJuen R: [算表] Excel 将数字分行(复杂版)
#18CPPtCB 5806 5/19 JieJuen R: [问题] 把EXCEL的资料往左方和上方移动
反方向转换
#17ApXUrR 3684 211/02 JieJuen R: [问题] excel栏位复制技巧
4. 特殊
#17Gzd7Yd 3894 311/21 JieJuen □ [算表] Excel 将数字分行(复杂版)
(有分解步骤说明)
#17QvpPeG 4231 12/21 JieJuen □ [算表] EXCEL:转置.OFFSET.
#17c99kCl 4597 1/24 JieJuen R: [问题] excel大量资料换行排序...
#17lnsiKr 4822 1 2/23 JieJuen R: [问题] 由网页复制表格至excel的问题
#17ZtnOkT 4514 1 1/18 JieJuen R: [请问] 关於excel的储存格
#17ZROdMM 4502 1/16 JieJuen R: [问题] EXCEL格式问题
#17uanOZN 5084 3/20 JieJuen R: [算表] excel空一格不填满(座位表)
#17JKPsDJ 3953 511/28 JieJuen R: 如何倒置一列资料?
#17DTGT-0 3785 211/10 JieJuen R: [问题] EXCEL列印问题
#18ATHugM 5736 5/14 JieJuen R: [算表] 请问如何用EXCEL进行S型编班
#18AVQIXw 5737 5/14 JieJuen R: [算表] 参照某阵列~只列出前三名
#18L-wxvp 6138 1 6/18 bathtub □ [问题] excel自动选择行数
#18kqSdaW 6810 2 9/01 fgj □ [算表] 请问如何自动写 =A1,A4,A7...
#1AkCcaqk 10867 4 9/22 rakahasa □ [算表] 直行资料转入横行格式,INDEX
(跳列取资料)
#18c24dvE 6564 8/05 ksk0516 □ [问题] 请教一个关於Excel重复资料的问题
#18i-ouEG 6752 1 8/26 kokomo1 □ [算表]如何将两列的值移至另一栏的储存格
#18kG7YCX 6799 8/30 JieJuen R: [问题] excel有类似查表的功能吗?
#18l99OO_ 6823 3 9/02 ljuber □ [算表] Excel资料计算问题
(动态范围)
#18lI97QP 6832 9/02 JieJuen R: [算表] 请问一下课表作法
#18NDZDwj 6184 1 6/21 JieJuen R: [问题] excel 制作课表??
#18tAyo90 7070 9/26 JieJuen R: [算表] excel排列资料 --VLOOKUP,OFFSET
#19S2toyW 8324 1/16 JieJuen R: [算表] excel 两格一起动?--OFFSET排列
#19Skh2T7 8347 1/18 JieJuen R: [算表] 询、抓取网页资料,OFFSET,VBA,End
#198oLiPb 7703 11/19 JieJuen R: [算表] 多数栏位如何改成同一栏?--转置,
#19jSPDv4 8814 3/10 JieJuen R: [算表] 有关整理资料并重新排列的问题
#19mXg4IQ 8924 2 3/19 JieJuen R: [算表] excel资料分类--排列,转置,OFFSET
#19odlTD2 9036 3/26 JieJuen □ [算表] 玩转阵列--特殊转置
(多栏改至同一栏,原资料每栏(列)个数不定)
#19mwCV9O 8941 3 3/20 windknife18 R: [算表] EXCEL 大量插入栏位问题?--OFFSET
#1AlP8bOB 10898 2 9/26 andreli □ [算表] 对角线递增,栏列同时递增,a1,b2,c3
===========================================================================
说明:
利用OFFSET传回根据所指定的储存格位址、列距及栏距而算出的参照位址。
就是从一个点出发,看往右、往下走多少格,走到之後传回它的值。
用到的语法:
OFFSET(出发点,往下走几格,往右走几格)
例: OFFSET(A1,2,3) 等於 D3 这一格的值
现在的问题在於到底要往右(下)走几格?
若能做到:写下这条公式之後,往右往下拉可以指定到不同的位置
例: OFFSET(A1,2,3) 往右拉後要变成
OFFSET(A1,3,3) 指定的位置往下一格
就可以随我们意,重新分配资料的位置。
拖曳公式时,相对参照会随之改变
例: =A1 往右拉会变成 =B1
但我们希望变化的是一个数字,以便放到OFFSET里变化指定的位置
利用ROW与COLUMN可以将参照的变化转换为数字的变化
ROW传回参照的列号 COLUMN传回参照的栏号
例: ROW(A3)=3 例: COLUMN(B1)=2
现在有了可变化的数字,缺点是:该格被删掉(移动)时会错误
例: 将A3删除(如:下方储存格上移)时 ROW(A3) 会变成 ROW(#REF!)
ROW(A4) 会变成 ROW(A3)
改进方法:参照整列
例: ROW(3:3)
如此将整列删除(移动)时才会错误
这可变化的数字,让它从0开始递增,
就像是从起点开始走,比较好想。
所以上文会有 (ROW(1:1)-1) 和 (COLUMN(A:A)-1) 这样的式子
较能让人看清这个基本元素 要乘(除)多少
若仍可能删除整列,则使用两个ROW相减(或两个COLUMN)
例: ROW()-ROW($B$1) 其中B1为公式起始处(从B1开始往右往下拖曳公式)
或是参照到另一工作表的储存格
例: ROW(Sheet2!3:3)
复杂一点的变化,可能会用到MOD函数,取余数之意。
有小数的时候,OFFSET只认整数,即自动取INT之意。
例: OFFSET(A8,1/3,) 为 A8
OFFSET(A8,-1/3,) 为 A7
函数的参数不写(有个逗点但没有数字)表示0
接下来,就是抓出要求型式的规则,
把以上元素放到OFFSET中,
大功告成!(我知道这有点太过於轻描淡写 XD)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.164.48.8
1F:推 BlackCyclone:很精彩的一篇说明!! 谢谢 04/05 11:04
2F:推 bbpeonf:推超强又超认真,但为什麽板主都不M起来 04/05 13:52
3F:→ JieJuen:^^ 04/05 15:03
※(04/05 06:07)(05/19 23:03)(06/18 02:51)(08/15 05:38)(08/28 13:56)(08/30 16:34)
※(08/31 10:08)(09/01 14:01)(09/02 19:49)(09/26 18:11)(11/19 04:32)(01/16 14:57)
4F:推 mimicz:实用好文!!!! 09/01 20:16
5F:→ JieJuen:^^ 09/02 19:26
6F:推 whiteeye:这种文不m,版主有在管版吗-.- 09/09 15:08
7F:→ JieJuen:结果在楼上的推荐下 我就变成板主来m自己的文章了 XD 09/16 13:51
※(01/18 17:19)(01/18 20:58)(03/10 09:52)(03/19 19:52)(03/20 17:51)(03/21 01:24)
※(03/26 05:24)(05/20 16:21)(09/23 21:47)
※ 编辑: JieJuen 来自: 114.47.35.29 (09/26 14:04)
8F:推 searoar:推推 10/20 11:18