Excel Filter公式求助:基于数组实现多条件人员筛选
解决方案
假设TABLE1的结构为:A列是人员姓名,B列是星期,C列是状态(Yes/No)。你可以结合FILTER、BYROW和COUNTIFS公式实现需求:
=FILTER(E2:E4, BYROW(E2:E4, LAMBDA(name, COUNTIFS(A2:A4, name, B2:B4, "Monday", C2:C4, "Yes") > 0)))
公式说明
BYROW(E2:E4, LAMBDA(name, ...)):遍历Array1(E2:E4)中的每个姓名,对每个姓名执行后续判断逻辑COUNTIFS(A2:A4, name, B2:B4, "Monday", C2:C4, "Yes"):统计TABLE1中同时满足「姓名匹配」「星期为Monday」「状态为Yes」的行数COUNTIFS(...) > 0:只要存在至少一行满足所有条件,就返回TRUE,否则返回FALSEFILTER:根据上述判断结果,筛选出Array1中符合条件的人员
如果你的Excel版本不支持BYROW和LAMBDA(旧版Excel),可以使用数组公式替代:
=FILTER(E2:E4, COUNTIFS(A2:A4, E2:E4, B2:B4, "Monday", C2:C4, "Yes") > 0)
输入完成后按Ctrl+Shift+Enter执行数组运算。
内容的提问来源于stack exchange,提问作者FerPavao
相关产品推荐
相关产品推荐

