经常使用Excel处理数据的朋友对于一对多匹配这类问题一定不陌生,例如下面这个例子就很常见。
如何通过在E2单元格填写姓名,自动在F列筛选出员工参加的项目?
要解决这类问题通常有两个选择:公式法和操作法。
以下分别来看看:
公式法
在F2单元格写入如下公式,然后填充柄向下填充即可
=INDEX(C:C,SMALL(IF((MATCH(C$2:C$12&B$2:B$12,C$2:C$12&B$2:B$12,)=ROW($1:$11))*(B$2:B$12=E$2),ROW($2:$12),999),ROW(A1)))&""
这个公式就是传说中的万金油公式,对于绝大部分朋友来说,要掌握这个公式的用法还是有一定困难的,公式的具体原理可以参阅之前的教程:
传说中的万金油公式,看得懂更要用的准!
操作法
要实现一对多匹配的操作方法,首选的无疑就是高级筛选了,还是以上图的例子来说明操作步骤:
在E1:F1输入列标题,在E2输入指定的姓名【小丽】
依次单击【数据】→【高级】
在【高级筛选】对话框中,选择【将筛选结果复制到其他位置】
【列表区域】保持默认的A1:C12
【条件区域】选择E1:E2
【复制到】选择F1
勾选【选择不重复的记录】
完成以上设置后,单击【确定】就可以得到最终的结果。
使用高级筛选功能时一定要注意:
【条件区域】的标题和【复制到】单元格的内容必须和数据源中是一致的,否则就无法实现目的哦。
在Excel的众多基础功能中,高级筛选的使用率很低,实际上这个功能的作用是非常大的,尤其是对一下复杂的数据提取问题。
,