第3节:用UiPath实现Vlookup功能(适合大批量数据的匹配)

问题描述:左边sheet1是正确的表,右边sheet2中A列是错误的,需要根据Invoice number从sheet1中匹配出正确的A列。样本量小的情况下,我们可以把sheet1中B列和A列互换一下(不能直接vlookup会出错),然后再用excel函数Vlookup在sheet2中进行匹配。但是实际情况,我们一张表不可能数据量那么小而且还只有两列。因此,要解决这个问题会稍微有几步“多余”的步骤。

第3节:用UiPath实现Vlookup功能(适合大批量数据的匹配)_第1张图片
图1 问题描述

如图2所示,我把这个问题分成了四个步骤去完成。第一步,根据sheet1生成一个sheet3并且A列和B列顺序已经换好了(实质上还是用vlookup但是需要用到临时表sheet3的帮助)。第二步,利用sheet3做vlookup的工作修改错误的A列。第三步,把修改好的A列重新复制黏贴(数值而不是公式,因为我们要把临时表sheet3删掉)。第四步,自动删掉sheet3表。

第3节:用UiPath实现Vlookup功能(适合大批量数据的匹配)_第2张图片
图2 思路流程

如何读取sheet1的数据再写入sheet3?

先创建一个新的table可以把,表名抬头和类型进行定义,如下图所示。这里别忘记设置Output需要把从sheet1中写进去的信息再写到sheet3中。

第3节:用UiPath实现Vlookup功能(适合大批量数据的匹配)_第3张图片
图3 建立一个新的空表格

下一步,读取sheet1的内容,并且通过一行行的读入进行赋值和写入上一步创建的空表中。如图4-图5所示。

第3节:用UiPath实现Vlookup功能(适合大批量数据的匹配)_第4张图片
图4 读取信息生成dt_Out表
第3节:用UiPath实现Vlookup功能(适合大批量数据的匹配)_第5张图片
图5 写入空的表中

这里需要注意的是,写入的顺序colB然后再写colA达到我们交换两列位置的目的。这里还可以注意到一点是,row是从0开始而不是从1开始的(colA = row(0).ToString.Trim)。

最后一步,将填充好数据的table写入sheet3中,如下图所示。

第3节:用UiPath实现Vlookup功能(适合大批量数据的匹配)_第6张图片
图6 写入sheet3表格中

下个问题是:怎么实现Vlookup并且修改数据?

第3节:用UiPath实现Vlookup功能(适合大批量数据的匹配)_第7张图片
图7
第3节:用UiPath实现Vlookup功能(适合大批量数据的匹配)_第8张图片
图8

简单地说,就是一个vlookup的过程,然后我们看看结果。

第3节:用UiPath实现Vlookup功能(适合大批量数据的匹配)_第9张图片
图9

但此时有个新的问题,那就是sheet2中A列的修改都是根据sheet3的,也就是说sheet3是不能删掉的。所以,我们需要复制数值再重新黏贴一下A列的信息。这一步和第一步其实是一样的,过程如图10-图11所示。

第3节:用UiPath实现Vlookup功能(适合大批量数据的匹配)_第10张图片
图10


第3节:用UiPath实现Vlookup功能(适合大批量数据的匹配)_第11张图片
图11

我们再看一下sheet2上的结果,如下图所示。

第3节:用UiPath实现Vlookup功能(适合大批量数据的匹配)_第12张图片
图12 不再依靠sheet3表

最后一步:删除sheet3

第3节:用UiPath实现Vlookup功能(适合大批量数据的匹配)_第13张图片
图13 选中sheet3执行删除操作

这一步的调试问题比较复杂,基本上是从下图中我标记出来的地方,点击进去调节第一个和第二个(确保定位准确,有点像上一节的record)。思想是能够让UiPath找到正确的Bottom位置,从而实现自动删除sheet的功能。

第3节:用UiPath实现Vlookup功能(适合大批量数据的匹配)_第14张图片
图14 调节Selector的问题

这一小节的内容比较多,那么实际中遇到问题该怎么办?除了官网的vedio tutorials以外,官网的Forum是个比较好的问问题的地方。或者别人提过类似的问题,看看是怎样解决的。另外也有人会把自己的xmal文件上传上去,可以参考学习。

本节完!好好学习、天天向上!!

你可能感兴趣的:(第3节:用UiPath实现Vlookup功能(适合大批量数据的匹配))