在Power Query中批量替换值

本文介绍了如何在Power Query中批量替换数据表中特定列的值。针对女装、男装和童装尺码的格式,通过添加分隔符并拆分列的方式实现数据清理,将品类和尺码分离。此外,还提供了使用M函数的另一种解决方案。
摘要由CSDN通过智能技术生成

01 前情提要

近期有个小伙伴问我一个问题,有一张数据表,想对其中一列的某些字段进行替换,有没有什么办法。

我一想,这不就是数据清洗的东西吗,正好最近小白也在学,就答应帮他试试,下面我们一起来看下我的成果吧。

首先看下数据,一个简单的场景,有若干衣服的型号,比如女装L码,女装M码,男士XL码,男士XXL码,儿童80,儿童100等尺码,现在需要把尺码去掉,只展示衣服是男装还是女装或者童装。

file

先说下思路,通过观察这份数据可以发现数据都是女装加尺码、男士加尺码或者童加尺码格式。

所以我的思路是对这一列进行拆分,把衣服的品类和尺码分开,这样就可以得到衣服的品类了,下面来具体操作一下。

02 操作演示

首先,点击替换值,在“女装”后面加一个中横线“-”作为分隔符,之后来看一下,之前的“女装XL”变成了“女装-XL”

file

在Excel批量替换多个列的多个通常需要借助VBA宏或者第三方工具,因为Excel本身的标准功能并不支持直接跨列的批量替换。如果你熟悉VBA,可以编写一段脚本来完成这个任务。以下是使用VBA的一个简单例子: ```vba Sub ReplaceValuesInMultipleColumns() Dim ws As Worksheet Dim rng As Range Dim rngCopy As Range Dim cell As Range '指定工作表和范围 Set ws = ThisWorkbook.Worksheets("Sheet1") '替换单元格所在的 sheet名 Set rng = ws.Range("A1:C10") '替换的范围 '创建临时范围复制原始数据 Set rngCopy = rng.Copy '遍历每一行 For Each cell In rng If cell.Value = "old_value1" Then cell.Value = "new_value1" ElseIf cell.Value = "old_value2" Then cell.Value = "new_value2" '添加更多elif语句以替换其他... End If Next cell '如果只想替换一次,取消下面一行的注释;如果想保留原始数据,恢复下面这一行的注释 'rngCopy.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ ' , Transpose:=False MsgBox "替换操作已完成!" End Sub ``` 运行此宏后,会按行检查并替换符合条件的单元格。你需要根据实际工作簿、工作表以及要替换的范围进行调整。 若不想使用VBA,也可以考虑使用专门的数据处理软件如Microsoft Power Query(现Power BI Desktop的一部分)或者第三方工具如OpenRefine(Google Data Studio预览版的Tableau Prep)来进行这种复杂的批量替换操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值