excel学习库

excel表格_excel函数公式大全_execl从入门到精通

从Excel到PQ:整理堆在一列的数据,工作表函数与PQ都能清理

如下图所示,人员姓名与编号堆积在一起了,将左侧的数据整理成右侧的数据。
上面的问题,使用工作表函数与Power Query中的M函数都能解决。

工作表函数

上面的问题,查询类函数INDEX,OFFSET,INDIRECT都可以解决,主要的问题是构造递增行号。
INDEX函数
在D3单元格中输入公式:=INDEX($A:$A,ROW(A1)*2)&""
在E3单元格中输入公式:=INDEX($A:$A,ROW(A1)*2+1)&""
OFFSET函数
在D3单元格中输入公式:=OFFSET($A$1,ROW(A1)*2-1,,)&""
在E3单元格中输入公式:=OFFSET($A$1,ROW(A1)*2,,)&""
INDIRECT函数
在D3单元格中输入公式:=INDIRECT("A"&ROW(A1)*2)&""=INDIRECT("A"&ROW(A1)*2)&""=INDIRECT("A"&ROW(A1)*2)&""=INDIRECT("A"&ROW(A1)*2)&""
在E3单元格中输入公式:=INDIRECT("A"&ROW(A1)*2+1)&""

Power Query M函数

上面的问题,在Power Query中解决更加地方便。
将上面左侧的数据加载至Power Query编辑器中,然后在公式编辑栏中输入公式:(向右划动可查看公式)
= Table.FromRecords(        List.Transform({0..Table.RowCount(源)/2-1},(x)=>        [            姓名= Table.ToList(Table.Range(源,x*2,2)){0},            证件号= Table.ToList(Table.Range(源,x*2,2)){1}        ]            )        )
完整的代码如下:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接