有时需要以一列数据为来源制作数据有效性下拉列表,但当该列数据包含重复值时,下拉列表中也会包含这些重复的项目,如下图中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列中的唯一值。 |