前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PowerQuery制作工资条或成绩条

PowerQuery制作工资条或成绩条

作者头像
哆哆Excel
发布2022-10-31 15:26:24
4320
发布2022-10-31 15:26:24
举报
文章被收录于专栏:哆哆Excel

【问题】如图成绩制作成绩条(工资条)

【知识点】

1.List.Accumulate函数

2.Table.InsertRows函数

3.自定义函数

代码语言:javascript
复制

List.Accumulate的官方语法说明如下:

List.Accumulate(list as list, seed as any,accumulator as function) as any

例如

下面的代码计算1到5列表的数字和

List.Accumulate({1, 2, 3, 4, 5}, 0, (state,current) => state + current) equals 15

计算结果是15(1+2+3+4+5)。

代码语言:javascript
复制

语法

Table.InsertRows(table as table, offset asnumber, rows as list) as table

关于

返回一个表,此表包含插入到 table 中给定位置 offset 处的行 rows 的列表。 行中要插入的每列都与表的列类型匹配

可以插入一行也可以插入多行

= Table.InsertRows(源,0,{[姓名="小张",分数=50],[姓名="小李",分数=60]})

【上代码】

代码语言:javascript
复制

let

    源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],

    自定义1 = List.Accumulate({1..Table.RowCount(源)-1},源,(x,y)=>Table.InsertRows(x,y*3-2,{Record.FromList({"",""},Table.ColumnNames(x)),Record.FromList(Table.ColumnNames(x),Table.ColumnNames(x))}))

in

自定义1

解析一下:

(x,y)=>其中是x是代表“源”,y代表“{1..Table.RowCount(源)-1}”

为什么是Y*3-2呢?

下面用图像解析一下

【效果】

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 哆哆Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档