欢迎光临散文网 会员登陆 & 注册

Excel之PowerQuery 处理不标准数值

2022-09-19 19:12 作者:孙兴华zz  | 我要投稿

网友提问:

这个.......千位分隔符不是自己手敲出来的......在Excel单元格设置中使用千位分隔符,它还是数字,自己手写变成字符串了........

回答网友问题,我自己做了一个表

1、导入PowerQuery

2、插入步骤修改列

函数详见笔记

这个下划线代表数值列每一行的数据,只要修改他就行了。

3、找一个数做测试

假设:"128,192,19.18"    想将他改成:12819219.18

由于字符串里有逗号和小数点,所以我们用多字符分组

我们只需要在列表最后一个元素之前插入小数点

第一参数是列表,我们已经有了,第三参数是小数点,我们可以写成{"."}

第二参数是在哪个下标插入,我们只需要计算列表元素总个数-1  就是插入小数点的位置

可以写成:List.Count(Text.SplitAny("128,192,19.18",".,"))-1

现在将上面的三个参数写到List.InsertRange函数中:

最后,我们使用Text.Combine函数将列表合并成字符串

这不就成功了吗?

刚才第二步,我们知道了下划线代表每个字符,那我们把"128,192,19.18"改成下划线放到第二步的公式中就完成了。

= Text.Combine(List.InsertRange(Text.SplitAny(_,".,"), List.Count(Text.SplitAny(_,".,"))-1, {"."}))

放到

= Table.TransformColumns(更改的类型,{"数值",each  _  })

替换其中的下划线

变成:

以上都是分析过程,其实就是新添加一个步骤,写一行代码

再啰嗦一下,可以通过字段名那里改数据类型,也可以在公式中实现

这个我们也讲过:

你们换个思路再想想,应该有更好的方法,我这锅里的羊蝎子快炖好了,马上开饭,就随意想出来一个方法。

还是那句话,需要至少看一遍PowerQuery合集才能知道有什么函数,知道有什么函数我们才能在笔记上找到。

PowerQuery合集:https://www.bilibili.com/video/BV1oa4y1j75e

更多教程:https://www.bilibili.com/read/cv10222110

Excel之PowerQuery 处理不标准数值的评论 (共 条)

分享到微博请遵守国家法律