[英]INDEX MATCH 2 Column Criteria [Partial Match + Full Match]
有一張名為“預訂”的表格。
H 列反映了他們的角色
在當前工作表中:
如何修改索引匹配的以下代碼以僅從“預訂”中提取部分匹配列 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
的第一個輸入參數的相同范圍,每個條件的計算結果為0
或1
,因此這就是您實現它的方式。 我排除了空行以考慮更一般的情況。 LET function 用於方便閱讀。 這是屏幕截圖:
在單元格A3
中,我有一個列表( Data->Data Validation->Allow選項List ),其中包含以下值: SALES,RECEPTIONIST,SALES AND RECEPTIONIST
,因此您可以按角色動態過濾。
我希望它有助於在您的實際問題上使用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.