为了规范表格数据[数据就是数值,也就是我们通过观察、实验或计算得出的结果。]录入,我们常用到Excel的“数据有效性[有效性是指完成策划的活动和达到策划结果的程度。]”功能在单元格[单元格是表格中行与列的交叉部分,它是组成表格的最小单位,可拆分或者合并。]设置下拉菜单[下拉菜单是计算机网页中的一种展示效果。],引用固定区域数据作为标准录入内容。有很多时候,这个区域的数据是用公式[公式,在自然科学中用数学符号表示几个量之间关系的式子。]生成的,如果直接引用一个固定范围,比如说D1:D50,可能实际返回的数据只有8个,下拉菜单会出现很多空白[《听说游戏玩家兄妹要征服幻想世界》空与白既是尼特族又是家里蹲NO GAME NO LIFE游戏人生,但是在网路上却是被奉为都市传说的天才游戏玩家兄妹。],不方便选择[我们每天都被五花八门的广告和巧舌如簧的营销人员搞得晕头转向;被时尚潮流牵着鼻子走,信用卡严重透支;苦苦挣扎于数不清的经济新闻和理财建议中,投资收益一塌糊涂;买来一本又一本自助类书籍,指望从中学会塑身美-xuanze]。本例向大家介绍如何去除下拉菜单中的空白。
一、问题描述
1、如下图,利用公式在D列返回某些表格的不重复值,作为下拉菜单的数据源[数据源是指数据库应用程序所使用的数据库或者数据库服务器。]。D列数据的个数不确定。
2、为了使数据有效性能够显示所有的备选数据,所以一般我们选择一个较大的范围,比如说D1:D8区域。制作数据有效性如下:
3、这样制作的下拉菜单中就会包括数目不定的空白,如果空白非常多的话在用下拉菜单选择数据时就非常不方便。
二、解决方案
1、选中要设置下拉菜单的E1单元格,选择【 公式 】-【 定义名称 】。
2、定义一个名称为“Data”的名称,在【 引用位置 】输入下面的公式并点击【确定 】。=OFFSET($D$1,,,SUMPRODUCT(N(LEN($D:$D)>0)),)
3、选中E1单元格,选择【 数据 】-【 数据有效性 】。
4、如下图,选择“ 序列 ”,“ 来源” 处输入 =Data ,然后【确定】。
5、这样,在E1的下拉菜单中就只有非空[《非空》是一部连载于连城读书的小说,作者是神鬼怪谈。]白单元格的内容了。E1的下拉菜单会自动更新成D列不为空的单元格内容。
6、使用公式的简单说明 :=OFFSET($D$1,,,SUMPRODUCT(N(LEN($D:$D)>0)),)
其中的 LEN($D:$D)>0 判断单元格内容长度是不是大于0,也就是如果D列单元格为非空单元格就返回TRUE,然后SUMPRODUCT统计出非空单元格个数。最后用OFFSET函数从D1开始取值至D列最后一个非空单元格。