Vlookup同时在两列中查找

时间:2015-03-16 08:54:30

标签: excel vba excel-vba

我有一张Excel表格,其数据如下:

 JobName    Source Total Records    Target Total Records    Rejected Records Count               Run Day     Status
    Job1                    2222                    2200                       22    03/07/2015 00:31:02     JOB_ENDED_WITH_REJECTS
    Job1.1                  2200                    2000                      200    03/07/2015 00:31:02     JOB_ENDED_WITH_REJECTS
-------------------------------------------------------------------------------------------------------------------------------------  
    Job1                    1111                    1100                       11    03/08/2015 00:31:02     JOB_ENDED_WITH_REJECTS
    Job1.1                  1100                    1000                      100    03/08/2015 00:31:02     JOB_ENDED_WITH_REJECTS

我需要在Sheet2中显示如下详细信息:

    Main Job                Job1
    Sub Job                 Job1.1
    Run Day                 03/07/2015 00:31:02
    Total Rejected Records  222
----------------------------------------------------------------------------
    Main Job                Job1
    Sub Job                 Job1.1
    Run Day                 03/08/2015 00:31:02
    Total Rejected Records  111

主要工作和运行日的值在sheet2中手动输入。当我输入这个时,我需要查找与作业名和日期匹配的sheet1数据,并计算被拒绝的总行数。

  

Eg.Job1.1是Job1的子作业,因此Total Rejected行是   被拒绝的行的总和。

Vlookup函数中是否有任何方法可以同时在两列中查找,以便我可以同时查找作业名和日期?

我需要在Excel VBA中实现。

1 个答案:

答案 0 :(得分:0)

我相信你最好的选择是使用2个SUMIFS函数,在第二张表中的Total Rejected行中。

=SUMIFS(Sheet1!D:D,Sheet1A:A,Sheet2!B1,Sheet1E:E,Sheet2!B3)+SUMIFS(Sheet1!D:D,Sheet1A:A,Sheet2!B2,Sheet1E:E,Sheet2!B3)

这将对Sheet1的被拒绝记录进行两次处理(每个MainJob和SubJob一次),条件是它也适合日期。

或者你也可以在表1中添加一个新列,你只提到主作业,然后只做一个有两个条件的SUMIFS,一个用于匹配MainJob,另一个用于匹配日期。