在HR工作中,我们在填写员工信息表格时,为了避免出错,有些内容会制作下拉菜单来直接选择,这个比较简单,还有一种情况是两个单元格,第二个单元格的内容由第一个单元格的内容来决定。比如第一个单元格是部门名称,第二个单元格是岗位名称,这两个单元格就存在一个从属关系。
我们就以部门和岗位为例,制作一个二级下拉菜单,先列出公司所有部门和所有岗位,把它作为参数,并对其进行命名。
首先,将所有部门岗位创建对应的名称。
选中部门和岗位所在单元格,点击【公式】,在【定义的名称】中点选【根据所选内容创建】,在弹出的对话框中勾选【首行】,点击【确定】。
其次,再将所有的部门创建一个名称——部门。
选中$A$1:$E$1,点【公式】→【定义名称】,在弹出的对话框的名称栏里输入“部门”,然后点【确定】。
然后,设置主单元格的下拉菜单。
回到员工信息填写表的页面,选中部门这一列,点击【数据】→【数据有效性】,在弹出的对话框中进行如下设置。
接着,设置从属单元格的下拉菜单,也就是所谓的二级下拉菜单。
选中岗位这一列的单元格,点【数据】→【数据有效性】,在弹出的对话框中做如下设定。
在这里使用了INDIRECT函数,该函数表达式是:
=INDIRECT(ref_text, [a1])
第二个参数是选则A1样式还是R1C1样式,一般系统默认为A1样式(简单点理解就是行标是数字,列标是字母),所以通常这个参数都不填。
这个函数的意思是抓取第一个参数(ref_text)所引用的内容。以本例来说,=INDIRECT(B2),意味着抓取B2所引用的内容,当B2=人力资源部
时,抓取的就是人力资源部所对应的岗位。
为什么?
因为我们之前在第一步时就已经把HR部门中所有的岗位命名为“人力资源部”,其他部门岗位也一样。
最终我们看到的效果就是B列选择不同的部门,C列下拉菜单中的岗位名称会发生相应的改变。
|