很多Excel高手都不知道 excel中合并单元格

今天跟大家分享下我们如何在带有合并单元格的表格中进行数据查询 , 这样的问题相信很多人都遇到过 , 在带有合并单元格的表格中使用函数进行数据查询 , 往往是找不到正确的结果的 , 今天就跟大家分享会出现这种情况的原因以及解决方法 。
想要从零学习 Excel , 这里↑↑↑
一、合并单元格为什么无法使用函数
这个是因为函数公式看到的数据与我们看到的数据是不同的 , 如下图所示 , 右侧的就是函数公式看到的数据 , 它其实就是将合并单元格取消之后的格式 , 这样的话仅仅只有每个班级的第一个姓名会对应班级 , 其余的数据是没有对应班级的 , 所以就是造成函数识别错误 , 那么对于这样的情况我们应该如何解决呢?分为 2 种情况

很多Excel高手都不知道 excel中合并单元格


二、数据源可以更改
如果你的数据源是可以更改的 , 最简单的方法就是将合并单元格取消掉 , 然后为每个姓名填充它们对应的班级 , 这个过程是可以批量设置的 , 操作也非常的简单
首先需要把合并单元格取消掉 , 然后按下【F5】调出定位点击【定位条件】选择【空值】点击确定 , 随后在编辑栏中输入等于=A2(就是第一个班级的位置)按下快捷键【Ctrl+回车】即可批量填充姓名

很多Excel高手都不知道 excel中合并单元格


姓名填充完毕后 , 它就是一个简单的多条件查询了 , 在这里不建议使用 vlookup , 更建议大家使用 index+match 进行数据查询
公式为:=INDEX($C$2:$C$13,MATCH(F3&G3,$A$2:$A$13&$B$2:$B$14,0))
这个公式之前跟大家介绍过很多次了 , 在这里就不再多做介绍了 , 就是 index+match 多条件查询的常规用法

很多Excel高手都不知道 excel中合并单元格


三、数据源不能更改
第二种情况是数据源不能更改 , 必须保持合并单元格的格式 , 这种情况就比较复杂了 , 我需要借助 indirect 函数 , 这个函数的使用方法前几天跟大家分享过 , 如果想要了解我会将文章链接放在最后 。我们可以使用 indirect 函数来构建一个动态的数据查询区域 , 来达到数据查询的效果
公式为:=VLOOKUP(F4,INDIRECT(“B”&MATCH(E4,A:A,0)&”:C14″),2,0) , 跟大家简单的介绍下查询原理 , 先来了解下他的参数

很多Excel高手都不知道 excel中合并单元格


第一参数:F4 , 查找表中姓名的位置
第二参数:”B”&MATCH(E4,A:A,0)&”:C14″) , 数据查询区域 , 它是一个动态的区域
第三参数:2 , 查找的结果在第二参数的第二列
第四参数:0 , 表示精确匹配
关键是 Vlookup 函数的第二参数 , 如下图所示 , 在这里 B 就是列标号 , MATCH(E4,A:A,0)它的作用是查找班级班 A 列的位置 , C14 是表格的结尾位置
如果班级是 1 班 , Vlookup 函数的第二参数为:B3: C14 如果班级是 2 班 , Vlookup 函数的第二参数为:B8: C14 如果班级是 3 班 , Vlookup 函数的第二参数为:B12: C14 这样的话就会定位到各自班级对应的姓名 , 并且这个班级的姓名永远是在最前面的 , 当我们将班级设置为 2 班 , Vlookup 就会以下图黄色区域为查找区域进行数据查询

推荐阅读