如何在UiPath中获取Excel内指定重复单元格值的精确索引
解决UiPath查找重复值对应精确单元格索引的方案
以下两种方案可规避Lookup Range仅返回第一个匹配值的问题,精准定位你需要的第二行Col2的DB值索引:
方案1:Read Range结合遍历查找
- 先用
Read Range活动将目标工作表读取为DataTable类型变量,记为dt_Excel - 你的测试表中Col2对应DataTable的列索引为1(索引从0开始计数),数据行从DataTable的索引0开始,对应Excel的第二行(表头占第一行)
- 遍历
dt_Excel的行索引,设置判断条件dt_Excel.Rows(rowIndex)(1).ToString.Trim = "DB",匹配到目标后:- Excel行号 =
rowIndex + 2(DataTable索引从0开始+表头占1行) - 对应列号为B,最终单元格地址为
"B" + (rowIndex + 2).ToString,你需要的目标索引即为B2
- Excel行号 =
- 如果需要定位某列下第N个重复值,只需新增计数器变量,匹配到指定次数时停止遍历输出索引即可。
方案2:Excel公式配合Read Cell活动
如果不想处理DataTable遍历,可直接调用Excel查找公式获取结果:
- 查找B列(Col2)第二个出现的DB值的地址公式为:
=ADDRESS(MATCH("DB",B:B,0)+COUNTIF(B$1:INDEX(B:B,MATCH("DB",B:B,0)),"DB"),2) - 用
Read Cell活动直接读取该公式的返回值,即可得到目标单元格的精确索引。 - 若你只需要从数据行(跳过表头)开始查找第一个匹配值,可直接将公式的查找范围设为
B2:B1000,返回结果就是你需要的目标地址。
内容的提问来源于stack exchange,提问作者Manz
相关产品推荐
相关产品推荐

