填充table_Excel Power Query | 向下填充的逆过程

本文介绍了如何在Excel的Power Query中实现从左侧数据向右侧的逆向填充。通过构建List并利用List.Positions、if判断及try otherwise异常处理,将数据转换成功。具体操作包括获取列索引、处理特殊情况,最后使用Table.FromColumns合并到原表。
摘要由CSDN通过智能技术生成

上期内容给大家讲解了关于图表精品图表 | Excel绘制“带有阈值分割的条形图和棒棒图”的制作方法。本期给大家讲解一下关于Power Query的知识 。

 如下图,将下面的数据向下填充逆过程。即将左侧的数据转换至右侧的数据。

1980438098707332a87a7e11feef8b31.png

 如果是从右往左的话是直接向下填充即可,但是从左侧转换右侧的是一个逆向的过程。就不能按正常的方法来转换了。

解题思路:

因为没法直接在原表上转换,所以先单独构建list,使用List.Positions直接获得列的索引,也就是{0..11},然后对其转换,分别获取[年级]列中每一行的值,再用if判断。
但是如果是第一行,索引是0,-1是负的就会报错,所以还要用try otherwise做个异常处理,如果错误就获取第一行。

构建完list,我们还要再合并到原表上,使用Table.FromColumns即可。

具体的代码如下:

let    源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content],    转换 = Table.FromColumns(            {List.Transform(                List.Positions(源[姓名])                ,each                     try                          if                             源[姓名]{_} =源[姓名]{_-1}                         then                             null                          else                             源[姓名]{_}                     otherwise                         源[姓名]{0}  )            }            &            {                源[编号]            }            ,Table.ColumnNames(源)                        )in    转换

484d3b097f15b2afc1b8c080915b97af.png

0e86bce4538ffb83fd8a460970e9f883.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值