我在Excel中有两个工作表Sheet1和Sheet2。 它们都包含3列A,B和C。
我的目标是根据同时比较A和B中的值的条件,将Sheet2中的C值获取到Sheet1中的C。
Sheet2中的A包含组合在一起的数字,例如11,11,13,13,12,12。 Sheeet1中的A包含其中一些数字,但不一定以相同的顺序或相同的行数,例如11,11,12,13,13。
Sheet2中的B还包含数字2,1,1,2,1,2。 Sheet1中的B再次包含这些数字的一部分。例如1,2,1,1,2。
分别对于Sheet1和Sheet2,在A和B中(按特定顺序)只有成对的唯一组合。
Sheet2中的C由连接到A和B中特定数字组合的数字组成。
现在,我想基于Sheet2中C的值在Sheet1中填充C。例如对于C1:在'Sheet2'!Cx中获取值(行x),这样'Sheet1'!A1 ='Sheet2'!Ax,AND'Sheet1'!B1 ='Sheet2'!Bx(将是在此示例中为第二行。
我在想类似的东西
C1=INDEX('Sheet2'!C:C;...)
其中
...=IF(AND(MATCH(A1;'Sheet2'!A:A;0);MATCH(B1;'Sheet2'!B:B;0));?;?)
?==我不知道在这里写什么,但是我希望IF的返回值是两个条件都成立的行号。
问题在于,MATCH仅分别返回条件为true的A和B中的第一个数字,而我在A中具有多个非唯一数字。我想浏览整个'Sheet2'!A: A并获取所有匹配值,然后浏览对应的“ Sheet2”!B:B以检查第二个条件。
或者在这个问题上可能有完全不同的看法。有人对如何解决这个问题有建议吗?
答案 0 :(得分:1)
这里是一种查看MATCH()
函数中多个值的方法,例如:
Sheet1:
Sheet2:
C2
表格1中的公式:
{=IFERROR(INDEX(Sheet2!$C$2:$C$6,MATCH(Sheet1!A2&Sheet1!B2,Sheet2!$A$2:$A$6&Sheet2!$B$2:$B$6,0)),"")}
注意:这是一个数组公式,因此请通过 Ctrl Shift Enter
输入结果:
答案 1 :(得分:0)
C1公式=INDEX(Sheet2!C:C;MATCH(A1;Sheet2!A:A;0);MATCH(B1;Sheet2!B:B;0))