大家知道,通过表格“数据有效性”功能将已有的数据序列做成下拉列表,输入时只需从列表中选择,就可以为今后的字段信息输入提供极大的方便。但由于这种方法的原始数据一般来源于一行或一列数据,而许多时候我们的原始数据不仅限于单一的行列,很可能是一个多行多列的数据“片区”。那么,如何实现“片区”数据的自动引用输入? 案例:假设有两个小组,每个小组各有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)。 |