在Excel表格的制作中,可能不尽是静态的数据报表,有时我们需要允许用户输入一些值,但也有些时候值不能由用户随意填写,最好的情况是能够给用户一些可供选择的选项。此时,下拉菜单是一种不错的选择。那么,在Excel中应该如何设计下拉菜单,又怎么将菜单选项对应到特定的值呢?

情景引入

考虑如下的情景,你需要完成一份班级的考核成绩表,在考核成绩中有5个等级:优秀、良好、中等、及格、不及格,分别对应90分、80分、70分、60分、50分,

下拉菜单的设计

  1. 先创建一个含菜单选项的辅助列

  2. 选中需要设置下拉菜单的单元格

  3. 为选中的单元格在顶部选项卡找到 数据->数据验证

  4. 在窗口中将所允许的值设置为序列,可以直接用鼠标选取辅助列的内容作为来源,点击确定按钮

  5. 至此,选中的单元格均已被设置下拉菜单

为选项设置对应的值


那么,又如何将考核成绩中的等级换算成对应的成绩呢?

似乎...IF语句可以解决

小白表示:

然后上来就是一段(以要换算C9单元格中的考核等级为例):

=IF(C9="优秀",90,IF(C9="良好",80,IF(C9="中等",70,IF(C9="及格",60,IF(C9="不及格",50)))))

换算功能的确实现了,但似乎IF公式的嵌套让人眼花缭乱,末尾的括号层数甚至已经超过了下巴的层数,变得臃肿起来。如果选项更多一些呢?...

我想要文艺一些

似乎我们需要更文艺的方法...还记得VLOOKUP函数吗?
在之前的例子中,我们使用VLOOKUP函数实现了从水果名称到单价的对应查询,那么能不能使用同样的方法实现从等级到成绩的对应呢?

  1. 在辅助列后添加对应的成绩列

  2. 为显示换算成绩的单元格添加VLOOKUP函数

=VLOOKUP(D4,$H$3:$I$7, 2, FALSE)

意思就是从H3到I7范围内的 第一列 找到与D4单元格相同的值,并显示其对应的 第二列 的内容(即D4单元格内容如果为"优秀"则对应显示90,"良好"对应显示80...以此类推)

而公式第二个参数使用$H$3:$I$7(绝对引用)而不是H3:I7(相对引用)是为什么呢?
原因在于目前只对一个D4单元格设置了公式,如果我们需要下拉把公式填充到其他单元格时,相对引用会导致VLOOKUP公式中的第二个参数范围同时向下改变,绝对引用则不会出现这样的问题。

  1. 将公式下拉填充到其他单元格,至此,考核等级与成绩的对应完成

(完)
Author: Natuki