如何自动执行excel任务

时间:2017-12-30 03:41:05

标签: excel excel-vba pivot excel-automation excel-pivot

这是我正在使用的excel数据示例。我必须每天早上用7-8个不同的文件查找地址年龄和首选位置。

这是我收到的填写日期的一个例子。

| Unique No.| Name   | Address | Age | Preferred location | Time SLot |
|:----------|-------:|:-------:|:---:|:------------------:|:---------:|
| 1         | Amit   |        :|:   :|:                  :|:         :|  
| 2         | Ranjan |        :|:   :|:                  :|:         :|
| 3         | Rohit  |        :|:   :|:                  :|:         :|
| 4         | Rahul  |        :|:   :|:                  :|:         :|
| 5         | Neeraj |        :|:   :|:                  :|:         :|
| 6         | Sampan |        :|:   :|:                  :|:         :|

例如: - 唯一的数字1(名称AMIT)的数据在文件孟买,唯一的数据2(名称Ranjan)在文件德里。 因此,我无法一起查找所有数据。

| Unique No.| Name   | Address | Age | Preferred location | Time SLot |
|:----------|-------:|:-------:|:---:|:------------------:|:---------:|
| 1         | Amit   | Mumbai :|: 26:|:   Delhi          :|:  7      :|  
| 2         | Ranjan |   NA   :|: NA:|:    NA            :|:   NA    :|
| 3         | Rohit  |   NA   :|: NA:|:    NA            :|:   NA    :|
| 4         | Rahul  |   NA   :|: NA:|:    NA            :|:   NA    :|
| 5         | Neeraj |   NA   :|: NA:|:    NA            :|:   NA    :|
| 6         | Sampan |   NA   :|: NA:|:    NA            :|:   NA    :|

如果我使用查找,如果1个文件中没有该信息,则必须对其进行过滤,然后在NA列上应用查找以从其他文件中搜索。

这一切都在30-45左右浪费。这对我来说都是常规过程,所以有任何方法可以实现自动化。此外,在数据自动化之后,有没有办法自动转动数据。

我确实试过看,但我没有得到任何令人瞩目的结果。 感谢您的帮助。

这是一个示例表,我的表大约是10K-15K。很抱歉没有提及,

2 个答案:

答案 0 :(得分:0)

对于想要获取ID的人,解析第一张表,并将每个ID的位置及其行号放入字典中:   Does VBA have Dictionary Structure?

在您的情况下,ID是键,行号是值。

当您浏览第二张表格时,请使用字典在第二张表格中查找ID的位置,而不是进行搜索。

请注意,从字典中选择与传统搜索不同,字典通常通常为O(1),因为它们基于数据的哈希。这就是为什么你会看到性能提升的原因。

答案 1 :(得分:0)

假设Amit和Sasi的信息分别位于不同的文件file1和file2中,使用ifNA函数,当第一次查找返回NA时,您可以重用vlookup(或索引匹配 - 我广泛使用)

=IFNA(INDEX(File1[lookup value],MATCH(A2,File1[name],0)),INDEX(File2[lookup value],MATCH(A2,File2[name],0)))

enter image description here

enter image description here