原始数据划片引用输入

软件先锋 2016-01-02 05:10网络整理点击: 标签:

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

案例:假设有两个小组,每个小组各有6个人,这两个小组的名单位于两个单独的列中(图1)。我们要在这两个小组中随机挑出选手,需要在另一个新的列中输入挑出的人名。我们的任务就是以这两个小组人员的姓名为数据来源,构造一个可选的下拉菜单。我们以在WPS表格中操作来说明。

1509ASW-YSSJHPYY-1

(图1 原始数据是由各6人一组的两个小组的人名构成)

1. 尝试传统有效性引用的办法

我们首先按传统有效性引用的思路,尝试一次性对两个数据列进行引用设置。

第一步:选择输入区域,点击“数据”选项卡下的“有效性”按钮(图2)。

1509ASW-YSSJHPYY-2

第二步:在“数据有效性”窗口中,设置有效性条件,“允许”条件选择为“序列”,“来源”用鼠标框选的办法选择为第1列和第2列原始数据(图3)。

1509ASW-YSSJHPYY-3

第三步:点击“确定”之后,WPS表格弹出信息,提示“列表源”必须是划定分界后的数据列表,或是对但一行或一列的引用(图4)。

1509ASW-YSSJHPYY-4

显然这种办法行不通。怎么办?如何划定分界?

2. 巧用“名称管理器”突破限制

先给其中的一列原始数据定义区域代码,然后给这个区域代码设置有效性条件,最后通过扩大有效性条件范围的办法,将数据选择范围扩大到两列。

第一步:从“公式”菜单下点击“名称管理器”,在弹出的“定义名称”窗口中输入一个名称代号,如“xz”;在“引用位置”处通过鼠标框选的办法选中第2列数据,这样就为第2列人名定义了一个名称“xz”。“引用位置”处的数据自动变为“=Sheet1!$B$2:$B$7”。点击“确定”(图5)。

1509ASW-YSSJHPYY-5

第二步:选择“数据→有效性”命令,在有效性条件的额“允许”列表中选择“序列”,“来源”框中输入“=xz”,实现了用定义的名称来引用第2组数据(图6)。

1509ASW-YSSJHPYY-6

第三步:确定之后,现在从“参会挑选结果”一列下输入,可看到第2组的人名列表并能选择第2组的人名进行选择输入了(图7)。

1509ASW-YSSJHPYY-7

3. 扩大定义名称的引用范围

那么,怎么才能将第1组的人名引入到候选输入列表中呢?我们可以通过修改引用范围的办法来实现。

通过“公式”菜单下的“名称管理器”按钮调出“名称管理器”定义窗口,点击此前定义的名称“xz”,接下来把“xz”引用位置扩大到两列数据的范围,方法是在“引用位置”处删除原来的引用字符串,然后用鼠标框选的办法选择第1组合第2组人名数据,点击“确定”(图8)。

1509ASW-YSSJHPYY-8

之后,我们再来点击输入列表,发现候选人名中已经出现的是两个小组的人名了(图9)。

1509ASW-YSSJHPYY-9

小提示:

用Excel 2013也可以实现如上功能。只是在Excel 2013中,“数据有效性”的提法对应于“数据验证”,位于“数据”选项卡下。这一点要注意,否则若按“数据有效性”查找会无所获。