繁体   English   中英

INDEX MATCH 2 列标准 [部分匹配 + 完全匹配]

[英]INDEX MATCH 2 Column Criteria [Partial Match + Full Match]

有一张名为“预订”的表格。

H 列反映了他们的角色

  • 销售量
  • 接待员
  • 销售和接待员

在当前工作表中:

  • J 列,它是一个资格角色,例如“销售”或“接待员”。

如何修改索引匹配的以下代码以仅从“预订”中提取部分匹配列 J 的员工?

如果某人的角色是“销售”,我可以让它拉过“销售”。 如果某人的角色是“接待员”,我可以让它拉过“接待员”。 但是,如果是“SALES AND RECEPTIONIST”作为角色,无论是“SALES”还是“RECEPTIONIST”都拉不过去。

请告知我应该如何修改下面的公式。

=IFERROR(INDEX(Bookings!$B:$B, 
MIN( 
IFERROR(MATCH(1,($N3=Bookings!$C:$C)*($J3=Bookings!$H:$H),0),1E+99), 
IFERROR(MATCH(1,($N3=Bookings!$D:$D)*($J3=Bookings!$H:$H),0),1E+99), 
IFERROR(MATCH(1,($N3=Bookings!$E:$E)*($J3=Bookings!$H:$H),0),1E+99), 
IFERROR(MATCH(1,($N3=Bookings!$F:$F)*($J3=Bookings!$H:$H),0),1E+99), 
IFERROR(MATCH(1,($N3=Bookings!$G:$G)*($J3=Bookings!$H:$H),0),1E+99)

 )))

我从您的陈述中了解到的(您的问题需要澄清一下):

如果某人的角色是“销售”,我可以让它拉过“销售”。 如果某人的角色是“接待员”,我可以让它拉过“接待员”。 但是,如果是“SALES AND RECEPTIONIST”作为角色,无论是“SALES”还是“RECEPTIONIST”都拉不过去。

您正在寻找一个考虑OR条件的过滤条件,以防您同时寻找这两个角色。 以下是在单元格F3上执行此操作的方法(请参见下面的屏幕截图):

=LET(result, FILTER(C3:D20, 
  (C3:C20<>"") * (IF(A3="SALES AND RECEPTIONIST", 
  (D3:D20="SALES") + (D3:D20="RECEPTIONIST"), D3:D20=A3))), 
  IF(A3="","", result))

您可以通过FILTER function 考虑多个过滤条件。 用乘法 ( * ) 模拟AND条件,用加法 ( + ) 模拟OR条件。 对于FILTER的第一个输入参数的相同范围,每个条件的计算结果为01 ,因此这就是您实现它的方式。 我排除了空行以考虑更一般的情况。 LET function 用于方便阅读。 这是屏幕截图:

示例 excel 文件

在单元格A3中,我有一个列表( Data->Data Validation->Allow选项List ),其中包含以下值: SALES,RECEPTIONIST,SALES AND RECEPTIONIST ,因此您可以按角色动态过滤。

我希望它有助于在您的实际问题上使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM