背景:有的时候需要通过更改下拉菜单来改变对应的 值/ 图片。
如果是数值的话就是我们常常用的Vlookup,这个可以很简单的实现这个功能。(这个如果不知道请自行百度)
但是如果是图片呢?这个就不常见了,那么可以用Vlookup实现吗?
答案是:不可以。因为在excel里面,图片/形状/图表都是是悬浮于单元格上方的,用vlookup是无法索引到的,vlookup只能索引到单元格的值,而无法索引到图片。
解决方法:可以用index和match的组合使用来完成。
首先要知道index是索引的意思,match是匹配的意思。
具体步骤:
首先要知道index(参考范围,行数,列数)的含义。
比如index(B4:C5,2,3)就是代表找出B4:C5区域的第2行第3列的数,也就是D5,返回的就是数值4。
然后要知道match的意思,还是刚才的例子,match表示匹配,第一个是要找的值,第二个是查找的范围(行或者列,不能是行列组合),第三个数找的方法(0代表精确查找)。
比如下图返回的结果就是6,表示5在C列的第6行。
OK,以上就是准备工作了,下面正式开始。
1.新建一个list清单(比如在A2~A5里面输入图片1,图片2等等),然后在D1单元格添加该list的下拉菜单。如果不会下拉菜单的,请参考下图,这样就做好了一个下拉菜单。
2,插入几个图片或者形状,拖到b列的单元格上面。
3,自定义名称。
按照下图的方法,自定义个一个名称,取名叫“picture”,这个是随意的,中文名也行。
然后在引用位置输入以下公式。
=INDEX(Sheet1!$B:$B,MATCH(Sheet1!$D$2,Sheet1!$A:$A,0))
根据前面的学习,我们可以知道这个函数的意思是根据D2的值,在A列寻找匹配的值,比如说D2下拉菜单是图片2,那么匹配的就是第三行,match函数返回3,然后再从B列索引第三行就返回了第三行的东西,然后这个函数被赋予给picture这个自定义名称,当D2发生变化时,picture也发生了变化。
4,选中一个图片(记住是图片,形状好像不行),比如选中B2的风车图片,然后复制,拉到E2上面去,调整合适的位置。
然后选中E2的图片,在上面的函数栏输入“=picture”,即给图片赋予了名称。
5,改变D2下拉菜单的值→picture这个名称发生变化,图片和picture关联起来了,所以图片就会发生变化。
-----------------------操作GIF如下图所示-------------------------------------
这样就完成了更改下拉菜单,变动图片的效果了。