Excel-仅当当前行中的多个条件匹配时才返回一行中的单元格

时间:2019-06-26 18:13:26

标签: excel excel-formula

我有一个具有唯一ID的交易电子表格。

对于每笔交易,可能有两行对应-一行正在发起,一行正在履行。

随着新信息的不断涌入,如果当前行令人满意,我想查找启动行。由于它们具有不同的ID,因此匹配它们的唯一方法是通过金额,类型,帐号和交易日期。

每个标准都不唯一。例如,可能有很多金额为$ 500的交易。

因此,我希望编写一个公式,当且仅当所有这些条件与电子表格中的一行匹配时,该公式才返回事务ID。

我尝试使用数组,认为我可以将它们相乘,因为它们将是0或1,并且如果所有条件都匹配,乘积将仅是1,但是由于它只会返回一个值,所以无法使它起作用值数组。

因此电子表格具有以下结构:

ID | Account Number | Transaction Date | Amount | Customer | Fulfilling order ID?    |
1 |     123456      |     06/26/2018   |   50   |   John   |                         |
2 |     123457      |     07/25/2018   |   55   |   Steve  |                         |
3 |     123456      |     06/26/2019   |   50   |   John   |         1               |
4 |     124588      |     07/25/2019   |   75   |   Rich   |                         |
5 |     125589      |     08/01/2019   |   80   |   Vincent|                         |

我希望能够编写能够返回订单ID 1的订单ID为3的东西。

1 个答案:

答案 0 :(得分:2)

您当然可以在数组公式中使用动态范围,因此在输入数据时不必手动保持更改范围。

F2单元格中的内容如下:

=INDEX(A:A,MATCH(1,($B$1:INDEX(B:B,COUNTA(B:B))=B2)*($C$1:INDEX(C:C,COUNTA(C:C))=C2)*($D$1:INDEX(D:D,COUNTA(D:D))=D2)*($E$1:INDEX(E:E,COUNTA(E:E))=E2),0))

通过 Ctrl Shift Enter 输入为数组,行不通吗?

注意 在您的示例中,它将永远不会返回1,而只会返回3,仅仅是因为条件不匹配(c列,日期不同)。只要它们相同,公式就起作用。

enter image description here