excel学习库

excel表格_excel函数公式大全_execl从入门到精通

Excel多结果匹配(3)-多对多查询

回顾

前两篇我们介绍了如何用VLOOKUP实现一对多查询,即一次查询一个条件的多个结果。那如果想一次查询多个条件的多个结果该怎么操作呢?本文就着重介绍一下Excel如何实现多对多查询。

原始数据

原始数据共两列:B列班级、C列姓名。

预期结果

根据E列中班级名称,在F列能够显示该班级所有人员姓名。

解决思路

使用OFFSET函数获得所有结果范围引用,然后用拼接函数将结果序列拼接成字符串,输出在单个单元格中。

操作步骤

  1. 将B列进行排序(正序倒序均可)。

  2. 在F2单元格中输入公式=TEXTJOIN("/",TRUE,OFFSET($B$1,MATCH(E2,B:B,0)-1,1,COUNTIF(B:B,E2),1))

3. 向下拖动公式,即可获得所有结果。

公式解析

OFFSET($B$1,MATCH(E2,B:B,0)-1,1,COUNTIF(B:B,E2),1)

  • 此函数为该方法的重点,用于获得待查询值所有匹配结果,形式为数组。

  • MATCH(E2,B:B,0)表示查找待查询值在原始数据中的第一次出现行数,用来控制坐标系向下偏移量。

  • COUNTIF(B:B,E2)表示待查询值在原始数据中出现的次数,用来控制数据的选取范围。

TEXTJOIN("/",TRUE,数组)
  • TEXTJOIN可以将上述OFFSET函数产生的数组拼接成字符串。
  • 第一个参数表示拼接的符号,第二个参数表示是否忽略空格,第三个参数表示需要拼接的数据。

最后

至此我们多值匹配的三篇文章已经完结,大家不用死记硬背,理解公式原理即可。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接