下面,我们就一步一步地,一起来制作这个简单的照片查找效果。
准备查询源数据
在A:B列输入查询源数据,C列的照片是通过插入图片的方式,一张一张插入的,并调整好每张图片的位置和尺寸,以和单元格对齐;
——逐个图片地调整尺寸,确实是个功夫活儿,在我的微课中,给大家介绍过一段快速批量调整图片尺寸的VBA代码,有需要的同学可以留言索取哦——
制作“姓名”下拉
在E2单元格设置数据验证,序列来源为“=$A$2:$A$6”,即引用到源数据中的所有姓名所在的单元格区域。
查找“分数”
在F2单元格输入公式:=INDEX(B2:B6,MATCH(E2,A2:A6,0))
“分数”公式的含义:
1、 INDEX函数在“分数”列中进行查找,当前选择的人员对应行的数据。
2、 那么当前选择的人员到底在第几行呢?由MATCH函数来定位。
3、 MATCH函数在“姓名”列中,查找E2单元格的值(即当前选择的人员)处于第几行,并将结果返回给INDEX,从而由INDEX函数返回选择人员的分数。
查找“照片”
我们能用与“分数”相同的方法来查找“照片”吗?大家可以试试,其实并不能的,单元格中通过公式,是没法直接返回图片对象的。
我们可以这样做:
1、定义名称“照片”:
由于定义名称时,Excel并不提供智能的屏幕提示,所以,先在G2单元格中输入名称将要用到的公式:
=INDEX(动态查图片!$C$2:$C$6,MATCH(动态查图片!$E$2,动态查图片!$A$2:$A$6,0))
这个公式的原理,与上一步的“分数”是完全一样的,从这里返回的“0”也能看出,直接输入单元格引用公式是行不通的。
提示:公式中的各个单元格引用,记得按F4键进行固定,否则后面会出现名称的“引用无效”问题。
复制G2单元格中的公式,点击“公式”-“定义名称”按钮,在“引用位置”中粘贴公式,并为名称命名为“照片”(当然,可以修改成你喜欢的其它名称)。
删除G2单元格的公式。
相应地,在名称管理器中,就能看到这个新增的名称了。
2、设置图片引用:
将任意一张照片复制到G2单元格,该照片处于选中状态,在公式编辑栏中输入公式:=照片,按Enter确定。
测试一下,下拉选择不同姓名,照片G2单元格的照片已经能跟着动态变化了。
新增源数据怎么办?
但是,当我们新增了源数据怎么办?需要再修改公式吗?
不用!我们只需多做一件事情就好了,点击“插入”-“表格”按钮,或者CTRL+T快捷键,将源数据区域转换为“表格”。
当我们新增了源数据包括图片后,姓名下拉选项也跟着增长了,而选择新增的姓名后,“分数”、“照片”的查询也都工作良好,能给出正确的结果。
在Excel中动态查图片,这个小技巧,你get到了吗?那就赶紧用起来吧。