在Excel中,比较两个数组的多个条件,然后返回一个不同的值

我有两个数组。 第一个包含来自不同公司的不同工作的价格:

Task: Contractor: Pay rate: Labour Company A 25 Excavation Company A 28 Labour Company B 22 Traffic Control Company B 24 Labour Company C 26 Excavation Company C 26 

第二个是我们input每个公司完成的工作的地方:

 Task: Contractor: Hours: Rate: Total: Labour Company B 18 Excavation Company C 8 

如果我使用VLOOKUP,INDEX(MATCH)等,它总是只检查它find的第一个匹配项,所以如果我要查找“劳动力”,它只会检查第一个劳动力清单而不是B公司的劳动力清单或公司C.

有没有办法让Excel匹配“任务”和“承包商”值,然后返回“支付率”值?

在Sheet2 D2中试试这个,

 =INDEX(Sheet1!$C$1:$C$999, AGGREGATE(15, 6, ROW($1:$999)/((Sheet1!$A$1:$A$999=$A2)*(Sheet1!$B$1:$B$999=$B2)), 1)) 

这是一个标准的两列匹配。 为了您的目的(具有独特的组合), SUMIFSfunction也将提供正确的工资率。

只要任务和承包商的每个组合在您的数据中只出现一次,您可以做一个简单的SUMIFS:

 =SUMIFS($C$2:$C$7,$B$2:$B$7,B10,$A$2:$A$7,A10) 

在这里输入图像说明