公众号平台最新的推送规则对技术类文章不太友善,如果不想错过干货,请务必 “设为星标”哦!!!
点击上方蓝字 --> 点击“...”--> 选择“设为星标”
网友求助的一个难题:有一列数据,被人做了神仙设置,在每个数值的后面补位 0 值,使得整列位数值位数等长。
正所谓“请神容易送神难”,现在想要去除后面补位的所有 0 值,怎么实现?
这个问题呢,如果要用公式解决,非常困难,但是在 Power Query 中却 so easy。
案例:
下图 1 是一列工号,每个数据末尾用 0 补位值等长。请去除每个工号后面的补位 0,如果中间有 0 则需要保留。
效果如下图 2 所示。
解决方案:
1. 选中数据表的任意单元格 --> 选择菜单栏的“数据”-->“从表格”
2. 在弹出的对话框中点击“确定”
表格已上传至 Power Query。
3. 选择菜单栏的“添加列”-->“自定义列”
4. 在弹出的对话框中按以下方式设置 --> 点击“确定”:
新列名:输入“去0工号”
自定义列公式:输入 =Text.TrimEnd(Text.From([工号]), "0")
公式释义:
Text.TrimEnd 的作用是用于清除字符串末尾指定的连续字符。
5. 选中“工号”列 --> 选择菜单栏的“主页”-->“删除列”
6. 选择菜单栏的“主页”-->“关闭并上载”-->“关闭并上载至”
7. 在弹出的对话框中选择“现有工作表”及所需上传至的位置 --> 点击“加载”
绿色区域就是去除末尾 0 值后的数据列表。
附加题:那么问题又绕回来了,如果要用 Power Query 在数据列末尾用 0 补位至若干位数,如何实现呢?
8. 双击右侧“工作簿查询”中的“表1”,返回 Power Query。
9. 选择菜单栏的“添加列”-->“自定义列”
10. 在弹出的对话框中按以下方式设置 --> 点击“确定”:
新列名:输入“后补至8位”
自定义列公式:输入 =Text.PadEnd(Text.From([去0工号]),8,"0")
公式释义:
Text.PadEnd 函数的作用是在字符串末尾插入指定的字符以满足定长。
11. 选择菜单栏的“主页”-->“关闭并上载”-->“关闭并上载”
12. A19 单元格的行数,会生成一组 1 至 19 的数组;
领取专属 10元无门槛券
私享最新 技术干货