index-small-if 具有来自同一列的一个或多个条件

index-small-if with one or multiple criterias from the same column

在这个论坛的帮助下,我得到了以下数组公式。

=IFERROR(INDEX(SalesOrderLine, SMALL(IF(SalesOrderLine[SalesOrderId]=SalesOrderId, ROW(SalesOrderLine[SalesOrderId])-1, IF(SalesOrderLine[SalesOrderId]=SalesOrderId2, ROW(SalesOrderLine[SalesOrderId])-1)), ROWS(A:A23)), 13),"")

遗憾的是,此公式仅在条件 SalesOrderIdSalesOrderId2 都有数据时才有效。即使第二个条件 SalesOrderId2 没有数据,我也希望看到第一个条件的结果。

鉴于您的以下评论 - 修订版:

=IFERROR(INDEX(SalesOrderLine,SMALL(IF(ISNUMBER(MATCH(SalesOrderLine[SalesOrderId],CHOOSE({1,2},SalesOrderId,SalesOrderId2),0)),ROW(SalesOrderLine[SalesOrderId])-MIN(ROW(SalesOrderLine[SalesOrderId]))+1),ROWS(A:A23)),13),"")

已通过 CTRL+SHIFT+ENTER

确认

CHOOSE 函数为您的两个 ID 创建一个 "array"。 MATCH 函数在与该数组匹配时仍会产生有效结果,即使某些值是错误的。