我有两个表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))
由于这些代码通常具有前导零,因此我将列保留在文本中以便它们不会被切断,但即便如此,我也不确定为什么这些公式不起作用。我已经看到这些工作用于其他数据。任何想法/想法都将不胜感激。
答案 0 :(得分:4)
sumproduct()适合我。
=SUMPRODUCT((SpreadCodes!A1:A100=Data!B1)*(SpreadCodes!E1:E100=Data!I1)*(SpreadCodes!J1:J100))
根据您的数据,这是我的数据表的样子