您的位置 首页 > 数码极客

excel如何一个格和一列匹配

已是老生常谈了:源数据不要合并单元格,不要合并!不过工作就是这样的,团队的执行力总是跟理想相去甚远。


当拿到的数据表有合并单元格,还要求匹配出合并单元格的内容时,就只有磨练技术了。


案例:


下图 1 中左边的数据表中包含了员工及部门,请在右侧区域根据姓名查找出对应的部门。


效果如下图 2、3 所示。


解决方案:


先制作下拉菜单。


1. 选中 D2 单元格 --> 选择菜单栏的“数据”-->“数据验证”


2. 在弹出的对话框中选择“设置”选项卡 --> 按以下方式设置 --> 点击“确定”:

  • 允许:选择“序列”
  • 来源:选择 $A$2:$A$9 区域


“姓名”下拉菜单就制作好了。


接下来设置查找公式。


3. 在 E2 单元格中输入以下公式:

=LOOKUP("々",INDIRECT("B2:B"&MATCH(D2,A:A,0)))


为了便于大家更直观地理解公式,我会用 F9 分段显示公式结果来讲解。


公式释义:

  • MATCH(D2,A:A,0):查找 D2 单元格的值在 A 列中的排位,结果为 6;

  • "B2:B"&...:用 & 将分号中的内容和上一步骤中得出的行数连接在一起,结果为 B2:B6

  • INDIRECT():上一步中得出的 "B2:B6" 是文本格式,而不是一个真正的单元格引用,所以需要用 INDIRECT 函数将其转变成单元格引用;最后得出一组数组,结果为 B2:B6 区域每个单元格的值。


indirect 引用单元格时加和不加 "",代表的含义和得出的结果完全不一样,加 "" 表示引用 "B2:B6" 区域的文本,不加则是把 B2:B6 当成了一个地址来看待。


有关 indirect 两种引用的详细区别,请参阅 Excel indirect 函数(1) - 将一列数据排列成m行*n列。

  • LOOKUP("々",...):
    • “々”在汉字中是一个编码很大的字符,比 lookup 公式中常用来替代的“座”还要大,可以通过小键盘的 Alt+41385 输入;
    • 利用 lookup 函数可以模糊查找的特性,因为“々”编码足够大,当没有完全匹配的值,也没有比它更大的文本时,lookup 函数会在所选区域内查找直至最后一个文本单元格,从而实现本案例的需求


重新选择 D 列的姓名,E2 单元格会自动查找出对应的部门。


很多同学会觉得 Excel 单个案例讲解有些碎片化,初学者未必能完全理解和掌握。不少同学都希望有一套完整的图文教学,从最基础的概念开始,一步步由简入繁、从入门到精通,系统化地讲解 Excel 的各个知识点。

现在终于有了,以下专栏,从最基础的操作和概念讲起,用生动、有趣的案例带大家逐一掌握 Excel 的操作技巧、快捷键大全、函数公式、数据透视表、图表、打印技巧等……学完全本,你也能成为 Excel 高手。

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“excel如何一个格和一列匹配”边界阅读