Excel formula 尝试获取2个字段以匹配第二个工作表中的数据并返回值

Excel formula 尝试获取2个字段以匹配第二个工作表中的数据并返回值,excel-formula,Excel Formula,我试图让下面的工作在excel中,我只是不能这样做。 我有两张表格,一张有数据(表格2),一张我在其中创建了一个带有回答字段的问题框(表格1)。 因此,在数据表中有A、B和C列。 在问题框(第1页)中,我需要知道a中的一个数字和B中的一个数字是否都与第2页a列和B列中的数据匹配,如果匹配,我想将第3页C列中对应的数字返回到第1页C列 我假设我需要使用一个IF和公式,并以各种不同的方式尝试了以下内容,但每次它都返回0 =IF(和(A1=Sheet3!A:A,B1=Sheet3!B:B),Sheet

我试图让下面的工作在excel中,我只是不能这样做。 我有两张表格,一张有数据(表格2),一张我在其中创建了一个带有回答字段的问题框(表格1)。 因此,在数据表中有A、B和C列。 在问题框(第1页)中,我需要知道a中的一个数字和B中的一个数字是否都与第2页a列和B列中的数据匹配,如果匹配,我想将第3页C列中对应的数字返回到第1页C列

我假设我需要使用一个IF和公式,并以各种不同的方式尝试了以下内容,但每次它都返回0

=IF(和(A1=Sheet3!A:A,B1=Sheet3!B:B),Sheet3!C:C,0)


我对此束手无策,因此非常感谢您的帮助。

如果您乐于使用数组公式(按
Ctrl
Shift
时,请按
Enter
),则此公式应该可以正常工作:

我最初阅读它是因为您想从第3页获得信息,所以这本可以:

=索引(表3!B1:B6,匹配(索引(表2!C1:C6,匹配(A1和B1,表2!A1:A6和表2!B1:B6,0),1),表3!A1:A6,0),1)

但是重读一遍,我不认为是这样的,所以这应该可以

=索引(表2!C1:C6,匹配(A1和B1,表2!A1:A6和表2!B1:B6,0),1)

这是使用:

A1
作为比较
A1:A6
中的值的第一个答案,请参见
Sheet2

B1
作为比较
B1:B6
Sheet2

Sheet2
中的
C1:C6
获取上面两个匹配的对应值


然后,它在
Sheet3
中的
A1:A6
中查找该值,并从
Sheet3
中的
B1:B6
返回相应的值。这是一个数组公式,在公式栏中按Ctrl+Shift+Enter可应用该公式

=IFERROR(索引(Sheet3!C:C,小)(如果(A1=Sheet3!A:A,如果(B1=Sheet3!B:B,行(Sheet3!A:A)),1)),“未找到匹配项”)

这应该是通过构建一个行号数组来实现的,该行号与a和B都匹配,然后从数组中获取第一个最小的行号,并将其输入到
INDEX()
,从而获取第一个匹配项
SMALL([array],1)


此公式可以调整为拖动,以便通过将small更改为
small([array],ROW(1:1)
并向下拖动公式返回多个匹配项,不过我建议将“未找到匹配项”更改为“”这样,在显示所有匹配项后,您就只有空白单元格了。

看起来它需要是一个数组公式,您是否尝试过在公式栏中使用Ctrl+Shift+Enter from来确认这一点?嗨,Richard,是的,但似乎返回的只是0对不起,是
和()
未正确处理数组,并取范围内的第一个或最后一个(不记得是哪一个)…尝试嵌套两个
IF()
=IF(A1=Sheet3!A:A,IF(B1=Sheet3!B:B,Sheet3!C:C,0),0)
此外,对于数组公式,如果可能的话,你真的应该尽量缩小范围,计算整个列需要做很多工作,特别是如果你永远不会使用超过1000行的话。我现在就试试Richard,目前有20000多条记录要搜索。这是一个基于旧电子表格的co公司,我试图带来一点或自动化等,使生活更容易。