每当我做一个依赖动态下拉列表时,我在下拉列表中看到一堆空白单元格,我搜索了很多主题,解释了如何删除它们,同时添加了两个额外的范围,如解释她{{3} }
但我的问题是:无论如何都要避免使用空格或使用简单的方法将其删除而不需要两个额外的范围或复杂的公式?
包含空白单元格的下拉列表我所做的就是进行数据验证并在源代码=MYCode
中写入然后我将包含代码的列表命名为MyCode
并且我检查了忽略空白案例(甚至这似乎没用)
答案 0 :(得分:6)
经过一些研究后,我找到了解决方案。在填写我的信息的单元格中,我使用名称管理器添加了一个名称,并添加了我从this article改编的公式:
=DropList!$J$1:INDEX(DropList!$J$1:$J$10000,SUMPRODUCT(--(DropList!$J$1:$J$10000<>"")))
即使代码行相当复杂,它也可以在不需要添加2个额外单元格的情况下完成所需。
答案 1 :(得分:6)
还有另一种方式。创建动态扩展的命名范围。然后使用范围来定义数据验证列表。
要创建动态扩展范围,请将其插入命名范围框并为其命名:
=OFFSET($A$1,0,0,COUNTA($A:$A),1)
$ A $ 1应替换为您的范围的顶部单元格。 $ A $ A应该用范围所在的列替换。
OFFSET将指定范围指向一系列单元格。 COUNTA()位于OFFSET公式的第四个位置,该公式设置范围的高度。它计算非空白单元格的数量。因此,当您添加值时,OFFSET公式的第四个值会增加,并且您将获得扩展范围。
请注意,如果您的命名范围散布了空白单元格,则此方法无效。
来自excel-easy.com的OFFSET公式。
答案 2 :(得分:0)
我知道该线程已死,但是我找到了一个更简单的解决方案,该解决方案仅需要您创建一个命名范围。即使空白单元格散布在源数据中,它也可以工作,并且随着源数据的扩展而扩展。
首先使用上面给出的公式创建动态扩展的命名范围:
= OFFSET($ A $ 1,0,0,COUNTA($ A:$ A),1)
这将包括您想要的下拉列表中的值以及空白单元格。 接下来,在一个单独的单元格中,输入以下内容:
= FILTER(您的范围,您的范围<>“”)
结果将是您的源数据,没有空白。这将溢出到相邻的单元格中。现在,只要您在单元格引用的末尾添加“#”,就可以将该单个单元格作为数据验证列表。这告诉excel将所有溢出的值包括在列表中。
好处:
在其他任何地方都找不到如此简单的解决方案,所以我希望有人觉得它有用。