第5节:用UiPath实现标签问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第5节:用UiPath实现标签问题相关的知识,希望对你有一定的参考价值。

参考技术A 问题描述: 接着上一节继续讨论下一个问题,如何check表格中的project是否在base表(左边)存在?并且在没有做数据有效性之前,要是出现task并不包含在相应的project中如何得知呢?

其实想法很简单,如何project并没有出现过,那么check栏就写"NAN".如果project出现过,而task没有出现过,那么就记为“0”。最后就是project出现过,而且task也出现过的情况,此时记为“1”。

流程图如下图图2所示,这次没有那么多的变量。实际上的思路和第1节是大同小异的,比较简单直接的循环迭代过程(两个for循环)。

由于上一节已经给出了前面两步读入表格的步骤了,这里不再重复了。最后两步介绍一下,我这种方法可能比较笨但是可以work哈哈哈~

先把要填充的列写满为“NAN”,后面根据判断循环语句使没有达到条件的保留该值。

接下来图4-图8就是判断是否填写“0”或“1”的过程了。

这里要注意的是图7中填“1”的情况后面一定要记得加break说明找到了相应的值,否则又可能变成“0”了。

最后上个结果图~

本节的没什么难点,要是有什么优化的思路可以进行尝试,因为这个方法跑起来比较慢。大概七百多条数据跑了两个多小时。。哈哈哈,本节完!

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

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

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

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

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

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

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

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

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

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

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

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

最后一步:删除sheet3

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

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

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

以上是关于第5节:用UiPath实现标签问题的主要内容,如果未能解决你的问题,请参考以下文章

第2节:用UiPath实现record功能(适合做重复性强的事)

第7节:用UiPath自动发送邮件

UiPath如何实现将表格中资料循环录入网页或系统?

java 第5节 Eclipse介绍实现HelloWorld

用UiPath在excel中建立数据透视表(pivot table)

小小彩蛋3:用UiPath做record时用通配符*调整selector中的属性