删除空白单元格动态下拉列表Excel的简单方法

nap*_*i15 10 excel excel-2010

每当我做一个依赖动态下拉列表时,我在下拉列表中看到一堆空白单元格,我搜索了很多主题,解释了如何删除它们,同时添加了两个额外的范围,如她所解释的http://blog.contextures的.com /档案/ 2014/2月27日/动态一览与空白细胞/

但我的问题是:无论如何要避免使用空白单元格或使用简单的方法将其删除而不需要两个额外的范围或复杂的公式?

我所做的包含空白单元格的下拉列表是进入数据验证并在源代码中写入=MYCode然后我命名包含这样的代码的列表,MyCode我检查忽略空白案例(甚至这似乎没用)

the*_*ers 10

还有另一种方式。创建一个动态扩展的命名范围。然后使用范围定义数据验证列表。

要创建动态扩展范围,请将其插入命名范围框中并为其命名:

=OFFSET($A$1,0,0,COUNTA($A:$A),1)
Run Code Online (Sandbox Code Playgroud)

$ A $ 1应该替换为您范围内的顶部单元格。$ A $ A应该替换为该范围所在的列。

OFFSET将命名范围指向一系列单元格。COUNTA()在OFFSET公式的第四位置,该公式设置范围的高度。它计算非空白单元的数量。结果,当您添加一个值时,OFFSET公式的第四个值会增加,并且会扩大范围。

请注意,如果您命名的区域中散布了空白单元格,则此方法不起作用。

来自excel-easy.com的抵消公式。

  • 迟了2年但天才纯真 (2认同)

nap*_*i15 8

经过一些研究,我找到了解决方案.在我的信息填充的单元格中,我使用名称管理器添加了一个名称,并添加了我从本文改编的这个公式:

=DropList!$J$1:INDEX(DropList!$J$1:$J$10000,SUMPRODUCT(--(DropList!$J$1:$J$10000<>"")))
Run Code Online (Sandbox Code Playgroud)

即使代码行相当复杂,它也可以在不需要添加2个额外单元的情况下完成所需.

  • 感谢您的解释,我认为我可以使其工作。但是,似乎此公式只能从列表的END中删除空白单元格。要从一系列单元格的中间删除空白单元格,您需要制作一个新范围的单元格以过滤掉空白,如您的链接中所述(http://blog.contextures.com/archives/2014/02/27 / dynamic-list-with-blank-cells /)。通过将两者结合起来,我可以获得一个有用的解决方案。 (2认同)

小智 5

我知道这个线程已经死了,但我找到了一个更简单的解决方案,只需要您创建一个命名范围。即使空白单元格散布在源数据中,它也可以工作,并随着源数据的扩展而扩展。

首先使用上面给出的公式创建动态扩展的命名范围:

=OFFSET($A$1,0,0,COUNTA($A:$A),1)

这将包括您想要在下拉列表中包含的值以及空白单元格。接下来,在单独的单元格中输入以下内容:

=FILTER(Your_Range, Your_Range <> "")

结果将是不带空格的源数据。这将溢出到相邻的单元格中。现在可以引用这个单个单元格作为您的数据验证列表,只要在单元格引用的末尾添加“#”即可。这告诉 Excel 将所有溢出值包含在列表中。

好处:

  1. 如果源数据命名范围是动态的,则下拉列表将随该范围扩展,并且您不必担心更新第二个命名范围。
  2. 您可以轻松过滤更多数据,即使散布空白单元格也没关系。
  3. 结合 SORT 和 UNIQUE 函数,您可以进一步改进数据在下拉列表中的表示方式。

我在其他地方找不到这么简单的解决方案,所以我希望有人觉得这很有用。