具有多个条件的 IF AND 语句

IF AND Statement with multiple criteria

无法弄清楚为什么这个公式不起作用。我想让它做的是

如果 ID 匹配

AND 订单状态包含 "Called Out"(我需要它来查找 "Partially Called Out" 和 "Called Out"。因为这些是唯一带有 "Called Out" 的状态,我只需要查找它是否包含 "Called Out")

并且线路状态为 "Awaiting Shipping"

然后给我相应的商品编号。

每个 ID 分配了多个项目编号,因此我需要它来为我提供遵循这些准则的具体项目编号。以下是我想出的。问题是,我正在为不符合 "Called Out" 和 "Awaiting Shipping" 标准的项目显示项目编号。

我正在从另一个电子表格中提取信息(因此 [Report.xlsx] 报告)。

B 列是我用来匹配的身份证号码

在另一份报告中,我正在查看匹配 ID(K 列)、订单状态(G 列)和行状态(AP 列)。如果满足所有条件,我希望它给我相应的项目编号(U 列)。

=IFERROR(IF(AND(MATCH(B2, '[Report.xlsx]Report'!$K:$K, 0), ISNUMBER(SEARCH("Called Out", '[Report.xlsx]Report'!$G:$G)), ISNUMBER(SEARCH("Awaiting Shipping", '[Report.xlsx]Report'!$AP:$AP))), INDEX('[Report.xlsx]Report'!$U:$U, MATCH(B2, '[Report.xlsx]Report'!$K:$K, 0)), ""), "")

根据这个示例数据,

在C2中使用以下内容,

=INDEX(Report.xlsx!U:U,
  AGGREGATE(15, 6,
            ROW(Report.xlsx!G:INDEX(Report.xlsx!G:G,MATCH("zzz",Report.xlsx!G:G)))/
           ((Report.xlsx!AP:INDEX(Report.xlsx!AP:AP,MATCH("zzz",Report.xlsx!G:G))="awaiting shipping")*
            (Report.xlsx!K:INDEX(Report.xlsx!K:K,MATCH("zzz",Report.xlsx!G:G))=B2)*
             SIGN(SEARCH("called out",Report.xlsx!G:INDEX(Report.xlsx!G:G,MATCH("zzz",Report.xlsx!G:G))))),1))

..然后往下填。