一、基础介绍
Table.ReplaceValue函数实现的功能是将Table中的值替换成新值,语法翻译成汉语大致如下:
Table.ReplaceValue(要替换的Table, 要被替换的旧值oldValue, 要替换成的新值newValue, 替换规则函数, 在Table的哪列里替换)
我们首先可以通过基础操作来看一下替换效果。如下有一个Table,是不同的店仓编号对应的库存数量,要求将第一列“店仓编号”中的字母A替换成“仓库”两个字。
选中第一列,点击【转换】-【替换值】,第一个对话框输入A,也就是要查找A,第二个对话框中输入“仓库”,也就是要被替换成的值,点击确定后可以看到第一列中的A都被替换成了“仓库”两个字。
生成的函数如下:
= Table.ReplaceValue(Source,"A","仓库",Replacer.ReplaceText,{
"店仓编号"})
其意思是,在Source这个Table的{"店仓编号"}里查找“A”这个字母,替换成“仓库”,替换方式为Replacer.ReplaceText,也就是替换文本。
因为刚才要替换的值是文本,所以替换方式为Replacer.ReplaceText,字符串中的A都被替换成“仓库”。
如果在刚才的替换界面勾选【单元格匹配】(上图中的步骤4),替换方式会变成Replacer.ReplaceValue,由于没有完全匹配的,因此替换不会成功。如果要替换的是null等非文本的,就必须要用Replacer.ReplaceValue了。如果单元格中仅有A这个字符,则可被替换为“仓库”,如下图所示:
如果想在多列里替换呢,在最后一个参数中添加对应的列名即可。如下图,要在第一列、第三列里都把A替换成“仓库”,最后一个参数改成{"店仓编号", "店仓编号2"}就可以了。
= Table.ReplaceValue(Sour