作者vincent81614 ()
看板Office
标题Re: 算表 Re: excel 如何将三个列移成同一行
时间Sat Oct 12 18:18:14 2024
※ 引述《bb89233 (life)》之铭言:
: ※
: 感谢W大!成功了!省下不少时间!但我可以追问一下吗?
: 原本的形式是
: A1 B1 C1 D1 E1 F1 G1 H1 I1
: A2 B2 C2 D2 E2 F2 G2 H2 I2
: A3 B3 C3 D3 E3 F3 G3 H3 I3
: 我想排成
: A1 B1 C1 A2 B2 C2 A3 B3 C3
: D1 E1 F1 D2 E2 F2 D3 E3 F3
: G1 H1 I1 G2 H2 I2 G3 H3 I3
: 我造W大的放式做成功,但是需要把每一行剪下贴到新的一页重新排列後得到
: A1 B1 C1
: D1 E1 F1
: G1 H1 I1
: 但原始页面有150行,请问只能剪下贴上150次吗?Again,感谢W大的帮忙!
: 引述《bb89233 (life)》之铭言:
: : 各位大家好!有一个可能简单但我已经google到没办法找出答案了。
: : 如何将 D1 E1 F1 移动到A2 B2 C2? 然後G1 H1 I1 移动到A3 B3 C3 呢? 原本想土法炼
: : 钢一个个剪上贴下 但有A到AD这麽多列,行更是有114行! 请问一下高手们该怎麽办呢?
: : 谢谢帮忙 感激不尽
: : -----
: : Sent from JPTT on my iPhone
: -----
: Sent from JPTT on my iPhone
可能一开始没讲清楚,我的理解如下
原始资料是从A1:AD150的范围
接着要将3*3的范围变成一列,由左至右依序排列
第一列是A1:C3
第二列D1:F3
以此类推
原PO没有提到使用的版本,那我就先用google试算表来做
https://tinyurl.com/dzspp4ss
左侧为原始资料 右边黄色的是整理资料的公式列
使用的公式
=TOROW(INDIRECT(
ADDRESS(1+INT((ROW()-1)/10)*3,1+MOD(ROW()-1,10)*3,4)
&":"&
ADDRESS(3+INT((ROW()-1)/10)*3,3+MOD(ROW()-1,10)*3,4)))
这里用TOROW的方式去做
首先列是1*10次、4*10次、7*10次以此类推
1+INT((ROW()-1)/10)*3
栏则是1、4、7、10...28不断循环(对应A、D、G...AB栏)
1+MOD(ROW()-1,10)*3
接着用ADDRESS将他们组合成A1、D1的形式然後用INDIRECT连接起栏+2列+2
就完成矩阵A1:C3、D1:F3的范围了
这公式能够无限向下延伸,原始资料再多都能够呈现
当然,搞不清楚也没有关系,原PO可以把这份试算表建立副本
把左边的原始资料替换为自己需要重新排列的资料就可以了
另外本篇使用的TOROW函数应该是EXCEL2024或365才有的
如果没有的话就用google试算表吧
本篇的概念也能套用在INDEX函数身上,有兴趣可以试试
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.234.33.147 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1728728299.A.6F3.html
1F:推 bb89233: 感谢大大!成功了!但我的能力只能理解一点点 10/13 02:27
2F:推 windknife18: 如果有 O365 可以使用 10/13 22:42
3F:→ windknife18: =VSTACK(TOROW(A:C,1),TOROW(D:F,1),TOROW(G:I,1)) 10/13 22:42