实现两个标准vlookup替换(sumproduct或index)的问题

时间:2013-12-10 14:24:00

标签: excel sum

我有两个表DATA和SpreadCodes的数据。我需要编写一个类似于双标准vlookup的公式。我的表看起来像这样:

数据表:

Col B  ...  Col I 
01142        589       
57834        007 

其中,列S是我试图放置公式的地方,以及列B和列中的条目。我是以文本形式存储的数字。

SpreadCodes表:

Col A  ...  Col E ... Col G ... Col J
57834       007       15.50     15.50
45785       35893     10.00     10.00

A列,E列和A列中的条目。 G是存储为文本的数字,列J中的条目存储为数字。

我正在尝试在SpreadCodes表中搜索DATA列B中的条目等于SpreadCodes列A并且数据列I等于SpreadCodes列E的行。一旦找到匹配项,我需要它返回值在SpreadCodes列G OR列J (它们是相同的,除了G存储为文本,J存储为数字,所以无论哪个使这个工作)。

我尝试了几种方法来尝试使这项工作。 我在下面尝试的任何内容都不会返回任何内容,除了#NA值

我首先尝试创建一个“帮助器”列,我将两个表中的列连接起来然后比较这些值。

然后我尝试使用两个不同的索引/匹配公式(其中一个包含连接):

=INDEX(SpreadCodes!G2:G202,MATCH(1,(SpreadCodes!A2:A202=B2)*(SpreadCodes!E2:E202=I2),0),7)

=INDEX(SpreadCodes!A1:K202,MATCH(Sheet2!B2&Sheet2!I2,SpreadCodes!A:A&SpreadCodes!E:E,0),7)

当这不起作用时,我尝试了一个sumproduct公式(小心指定SpreadCodes列J,因为那个是数值):

=SUMPRODUCT((SpreadCodes!A2:A202=Sheet2!C2)*(SpreadCodes!E2:E202=Sheet2!I2)*(SpreadCodes!J2:J202))

由于这些代码通常具有前导零,因此我将列保留在文本中以便它们不会被切断,但即便如此,我也不确定为什么这些公式不起作用。我已经看到这些工作用于其他数据。任何想法/想法都将不胜感激。

1 个答案:

答案 0 :(得分:4)

sumproduct()适合我。

=SUMPRODUCT((SpreadCodes!A1:A100=Data!B1)*(SpreadCodes!E1:E100=Data!I1)*(SpreadCodes!J1:J100))

根据您的数据,这是我的数据表的样子

enter image description here