前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel实战技巧62: 获取不重复的值作为数据验证列表项

Excel实战技巧62: 获取不重复的值作为数据验证列表项

作者头像
fanjy
发布2019-11-20 15:39:42
5.9K0
发布2019-11-20 15:39:42
举报
文章被收录于专栏:完美Excel完美Excel完美Excel

“数据验证”(在Excel 2013以前称为“数据有效性”)是Excel中的一项重要功能,它能够提供下拉列表供用户选择输入项,也能限制用户输入符合设定的数据。

选择要设置数据验证的单元格或单元格区域,在功能区“数据”选项卡中,选取“数据验证——数据验证…”命令,弹出“数据验证”对话框,在“允许”下拉列表中选择相应项,在“来源”中输入数据条件,如下图1所示。

图1

设置好的数据验证如下图2所示,本例中给单元格H1设置数据验证。

图2

这样,在单元格H1中,我们可以从下拉列表中选择输入项了。

然而,细心的朋友可能注意到,在单元格H1的下拉列表中,原原本本地照搬了列A中的数据,其中有很多重复项,这显然是我们所不需要的。

如何基于已有数据在数据验证列表中填充不重复的数据项呢?下面介绍几种方法。

方法1:使用公式获取不重复值

如下图3所示,选择单元格E2,输入用于获取不重复值的数组公式,然后下拉至数据末尾,得到不重复项列表。

图3

定义一个命名公式NameByFormula:

=Offset(Sheet1!$E$2,0,0,counta(Sheet1!$E$2:$E$50),1)

如下图4所示。

图4

选择单元格H1,打开上图1所示的“数据验证”对话框,在序列来源中输入:=NameByFormula。单击“确定”按钮,数据验证设置完成。

方法2:利用数据透视表获取不重复值

选择单元格E1,插入数据透视表,数据源为数据区域A1:A14,得到结果如下图5所示。

图5

参见上图4,定义一个命名公式NameByPivot:

=Offset(Sheet1!$E$1,1,0,CountA(Sheet1!$E$2:$E$50),1)

选择单元格H1,打开上图1所示的“数据验证”对话框,在序列来源中输入:=NameByPivot。单击“确定”按钮,数据验证设置完成。

方法3:使用Office365中的新功能—动态数组

选择单元格F1,输入公式:

=SORT(UNIQUE(表1[名称]))

此时,Excel会自动将列中的不重复值分别输入到下面相邻的单元格中,如下图6所示。

图6

参见上图4,定义一个命名公式NameByDA:

=Offset(Sheet1!$F$1,0,0,CountA(Sheet1!$F$1:$F50),1)

选择单元格H1,打开上图1所示的“数据验证”对话框,在序列来源中输入:=NameByDA。单击“确定”按钮,数据验证设置完成。

实际上,对于Office 365来说,在定义命名公式时还有一种更简单的方法,如下图7所示,直接在“引用位置”输入:=F1#,告诉Excel想要获取该列完整的数据。

图7

甚至可以不定义命名公式,直接选择单元格H1,打开上图1所示的“数据验证”对话框,在序列来源中输入:=F1#,如下图8所示。

图8

Office365推出了很多方便的功能,看来确实是需要好好探究一下了!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-11-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档