我的Excel数据是
我想要这个数据用公式
5n0oy7gb1#
使用MS365公式和Power Query
MS365
Power Query
·单元格I1中使用的公式
I1
=LET(_rlabels,A2:A5,_years,B1:G1,_yeardata,B2:G5, VSTACK({"Row Labels","Years","Value"}, HSTACK(TOCOL(IFNA(_rlabels,SEQUENCE(,COLUMNS(_yeardata)))), TOCOL(IFNA(_years,SEQUENCE(ROWS(_yeardata)))), TOCOL(_yeardata))))
或者·单元格M1中使用的公式
M1
=LAMBDA(array, VSTACK({"Row Labels","Years","Value"}, HSTACK(TEXTSPLIT(TEXTJOIN("|",1, DROP(TAKE(array,,1)&"-"&TAKE(array,1),1,1)),"-","|"), TOCOL(DROP(array,1,1)))))(A1:G5)
或者,使用Power Query·选择数据表中的某个单元格,·数据选项卡=>获取和变换=>从表/范围,·当PQ Editor打开时:首页=>高级编辑器,·记下所有2表名称,·将下面的M Code粘贴到您所看到的位置。
M Code
let Source = Excel.CurrentWorkbook(){[Name="DataTbl"]}[Content], #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(Source, {"Row Labels"}, "Attribute", "Value"), #"Renamed Columns" = Table.RenameColumns(#"Unpivoted Other Columns",{{"Attribute", "Years"}}), #"Changed Type" = Table.TransformColumnTypes(#"Renamed Columns",{{"Value", type number}}) in #"Changed Type"
·将表名从DataTbl更改为Table_Outputbl后再导入Excel,注意您需要在首页选项卡-->关闭并加载->关闭并加载到->选择现有工作表或新工作表根据您的喜好。
1条答案
按热度按时间5n0oy7gb1#
使用
MS365
公式和Power Query
·单元格
I1
中使用的公式或者
·单元格
M1
中使用的公式或者,使用
Power Query
·选择数据表中的某个单元格,
·数据选项卡=>获取和变换=>从表/范围,
·当PQ Editor打开时:首页=>高级编辑器,
·记下所有2表名称,
·将下面的
M Code
粘贴到您所看到的位置。·将表名从DataTbl更改为Table_Outputbl后再导入Excel,注意您需要在首页选项卡-->关闭并加载->关闭并加载到->选择现有工作表或新工作表根据您的喜好。