有条件的VLOOKUP

我有两个Excel电子表格:

一个有一个ID和一个date另一个有一个ID,两个date和一个值

如果电子表格1中的date位于电子表格2中的两个date之间,则应该匹配ID并返回值。

这些电子表格之间有一对一的对应关系,如果找不到匹配项,则默认值为0

第一个spreasheet有很多线。 会有某种VLOOKUP函数可以用来获取正确的数据吗?

SUMPRODUCT和数组公式是你所需要的。

=SUMPRODUCT(--(Sheet2!$A$2:$A$2000=A2),--(Sheet2!$B$2:$B$2000<B2),--(Sheet2!$C$2:$C$2000>B2),--(Sheet2!$D$2:$D$2000)) 

这将不得不使用CTRL + SHIFT + Enter作为数组公式input 。 如果您input正确,您将会看到excel与{}匹配。

假设:在A2中检查ID,在B2中检查date
表格2中的数据按顺序A ID, B开始date, C结束date和D值(数字)

数组公式将返回true / false列表,然后将它们相乘。 只有当所有条件都为True才返回一个值(因为任何False答案等于零,零*另一个数字为零)。

如果两个范围重叠,这将给出不正确的答案

有一个非常简单的方法来实现这一点:连接你想要search的多个领域,你完成了,只要他们是唯一的。 否则,你应该看看数组单元格。