excel制作下拉菜单时如何去除空值

2024-11-22 11:24:54
推荐回答(1个)
回答1:

普通方法生成的下拉菜单:

1
如下图,利用公式在D列返回某些表格的不重复值,作为下拉菜单的数据源。D列数据的个数不确定。

2
为了使数据有效性能够显示所有的备选数据,所以一般我们选择一个较大的范围,比如说D1:D8区域。制作数据有效性如下:

3
这样制作的下拉菜单中就会包括数目不定的空白,如果空白非常多的话在用下拉菜单选择数据时就非常不方便。

END
解决方案:

选中要设置下拉菜单的E1单元格,选择【公式】-【定义名称】。

定义一个名称为“Data”的名称,在【引用位置】输入下面的公式并点击【确定】。
=OFFSET($D$1,,,SUMPRODUCT(N(LEN($D:$D)>0)),)

选中E1单元格,选择【数据】-【数据有效性】。

如下图,选择“序列”,“来源”处输入=Data,然后【确定】。

这样,在E1的下拉菜单中就只有非空白单元格的内容了。E1的下拉菜单会自动更新成D列不为空的单元格内容。

使用公式的简单说明:
=OFFSET($D$1,,,SUMPRODUCT(N(LEN($D:$D)>0)),)
其中的LEN($D:$D)>0判断单元格内容长度是不是大于0,也就是如果D列单元格为非空单元格就返回TRUE,然后SUMPRODUCT统计出非空单元格个数。最后用OFFSET函数从D1开始取值至D列最后一个非空单元格。