excel表格多行如何转成多列(如何快速转置成多行多列)
如图所示,如何将左侧表格整理成右侧的表格呢?
这里有两种方法可以解决:
1、函数法
利用OFFSET函数,在单元格中输入公式=OFFSET($A$1,INT((ROW(A1)-1)/3)*3 COLUMN(A1)-1,MOD(ROW(A1) 2,3)),之后向右向下填充。
函数说明:
ROW函数表示获取行号,比如ROW(A1)获取到的结果是1;
INT函数表示向下取整数,比如INT((ROW(A1)-1)/3)获取的结果为0;
COLUMN函数表示获取列号,比如COLUMN(A1)获取到的结果为1;
MOD函数表示获取余数,比如MOD(ROW(A1) 2,3)获取的结果则为0;
OFFSET函数主要用来返回对单元格或单元格区域中指定行数和列数的区域的引用。
语法=OFFSET(基点,偏移的行数,偏移的列数,引用的行数,引用的列数)
2、PQ大法
选中区域,点击数据——获取和转换——从表格,随后在打开的创建界面中,取消勾选包含标题。
然后点击确定进入对应的PQ编辑器,点击主页——插叙——高级编辑器,在打开的界面中输入对应的代码:
let 源 = Excel.CurrentWorkbook(){[Name="表2"]}[Content], 拆分 = Table.ToColumns(源), 合并 = Table.FromColumns(List.Split(List.Combine(拆分),3)), 转置 = Table.Transpose(合并)in 转置
之后点击确定,最后点击主页——关闭并上载即可完成多行多列的转换。
说明:
Table.ToColumns表示从表table中创建嵌套列表的列表,每个列表项都是包含列值的内联列表
Table.FromColumns表示从包含嵌套列表的列表 lists 中创建一个类型为 columns 的表
List.Combine获取一系列的列表 lists 并将它们合并为一个新列表。
Table.Transpose表示行列转换。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com