在特定情况下设置Excel数据的格式

dsekswqp  于 2023-05-19  发布在  其他
关注(0)|答案(1)|浏览(179)

我的Excel数据是

我想要这个数据用公式

5n0oy7gb

5n0oy7gb1#

使用MS365公式和Power Query

·单元格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中使用的公式

=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粘贴到您所看到的位置。

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,注意您需要在首页选项卡-->关闭并加载->关闭并加载到->选择现有工作表新工作表根据您的喜好。

相关问题