`
阅: 2033 | 回: 0
发表于2015/10/25 13:27:57 楼主 
头像 等级:初学者
积分:0
财富值:0.0
身份:普通用户
数组公式创建无重复项的数据有效性下拉列表
有时需要以一列数据为来源制作数据有效性下拉列表,但当该列数据包含重复值时,下拉列表中也会包含这些重复的项目,如下图中A列包含一些水果名称,在C3单元格中直接用数据有效性创建的下拉列表就包含了多个重复项,显得不够简洁。要在数据有效性下拉列表中仅显示这列数据中的唯一值,可以先将该列数据中的唯一值提取到辅助列中,再创建下拉列表,具体方法如下:
    1.用数组公式提取唯一值。
    从一列数据中获取唯一值的公式有很多,如下面的数组公式。假如数据在A2:A21区域,以B列为辅助列,在B2单元格输入:
    =INDEX($A$2:$A$21,MATCH(0,COUNTIF($B$1:B1,$A$2:$A$21),0))
    公式输入完毕后按Ctrl+Shift+Enter结束,然后拖动填充柄向下填充公式,直到出现“#N/A“为止,这样就将A列中的唯一值提取到B列。

2.定义名称。
    由于B列中还包含错误值“#N/A“,用下面的数组公式可动态引用B列中不包含错误值的区域B2:B9:
    =OFFSET($B$2,,,MATCH(TRUE,ISERROR($B$2:$B$21),0)-1,1)
    但如果直接将该公式用于数据有效性,会出现重新打开工作簿后无法打开下拉列表的问题,因而需将其定义为一个名称后再应用于数据有效性。
    Excel 2003:单击菜单“插入→名称→定义”,弹出“定义名称”对话框,在“在当前工作簿中的名称”下的文本框中输入一个名称,如“weiyizhi”,在“引用位置”下输入上述公式,单击“确定”。
    Excel 2007/2010:在“公式”选项卡的“定义的名称”组中单击“名称管理器”,分别输入一个名称和上述公式,如图:

单击“确定”,关闭“名称管理器”。
    3.设置数据有效性。
    假如需要在C3单元格中设置数据有效性下拉列表,选择C3单元格:
    Excel 2003:单击菜单“数据→有效性”;
    Excel 2007/2010:在“数据”选项卡的“数据工具”组中单击“数据有效性→数据有效性”;
    在弹出的“数据有效性”对话框中选择“设置”选项卡,在“允许”下选“序列”,在“来源”下的文本框中输入公式:
    =weiyizhi

 单击“确定”。这样C3单元格中的数据有效性下拉列表就只显示A列中的唯一值。

我的个性签名

快速回复

目前不允许游客发表,请 登录 注册 后再发贴。