案例:假设有两个小组,每个小组各有6个人,这两个小组的名单位于两个单独的列中(图1)。我们要在这两个小组中随机挑出选手,需要在另一个新的列中输入挑出的人名。我们的任务就是以这两个小组人员的姓名为数据来源,构造一个可选的下拉菜单。我们以在WPS表格中操作来说明。
(图1 原始数据是由各6人一组的两个小组的人名构成)
1. 尝试传统有效性引用的办法
我们首先按传统有效性引用的思路,尝试一次性对两个数据列进行引用设置。
第一步:选择输入区域,点击“数据”选项卡下的“有效性”按钮(图2)。
第二步:在“数据有效性”窗口中,设置有效性条件,“允许”条件选择为“序列”,“来源”用鼠标框选的办法选择为第1列和第2列原始数据(图3)。
第三步:点击“确定”之后,WPS表格弹出信息,提示“列表源”必须是划定分界后的数据列表,或是对但一行或一列的引用(图4)。
显然这种办法行不通。怎么办?如何划定分界?
2. 巧用“名称管理器”突破限制
先给其中的一列原始数据定义区域代码,然后给这个区域代码设置有效性条件,最后通过扩大有效性条件范围的办法,将数据选择范围扩大到两列。
第一步:从“公式”菜单下点击“名称管理器”,在弹出的“定义名称”窗口中输入一个名称代号,如“xz”;在“引用位置”处通过鼠标框选的办法选中第2列数据,这样就为第2列人名定义了一个名称“xz”。“引用位置”处的数据自动变为“=Sheet1!$B$2:$B$7”。点击“确定”(图5)。
第二步:选择“数据→有效性”命令,在有效性条件的额“允许”列表中选择“序列”,“来源”框中输入“=xz”,实现了用定义的名称来引用第2组数据(图6)。
第三步:确定之后,现在从“参会挑选结果”一列下输入,可看到第2组的人名列表并能选择第2组的人名进行选择输入了(图7)。
3. 扩大定义名称的引用范围
那么,怎么才能将第1组的人名引入到候选输入列表中呢?我们可以通过修改引用范围的办法来实现。
通过“公式”菜单下的“名称管理器”按钮调出“名称管理器”定义窗口,点击此前定义的名称“xz”,接下来把“xz”引用位置扩大到两列数据的范围,方法是在“引用位置”处删除原来的引用字符串,然后用鼠标框选的办法选择第1组合第2组人名数据,点击“确定”(图8)。
之后,我们再来点击输入列表,发现候选人名中已经出现的是两个小组的人名了(图9)。
小提示:
用Excel 2013也可以实现如上功能。只是在Excel 2013中,“数据有效性”的提法对应于“数据验证”,位于“数据”选项卡下。这一点要注意,否则若按“数据有效性”查找会无所获。