Excel列表中列的非空值

我想从列的非空值创build一个列表。

因此,我希望将此列表用作其他工作表中的下拉列表。

这个列表中的值是dynamic的,所以我不能在另一个地方复制这些值。

当我从列中select所有的值,然后从中创build一个列表时,当我用它作为下拉列表时,我也有列表中的空值。

有没有办法,不使用macros,自动删除列表中的空条目?

我不想从列中删除空单元格,因为它是另一个表的一部分。

谢谢。

最简单的方法是在下拉列表中使用另一个(隐藏)列。 如果您将源数据的(dynamic)命名范围定义为List ,则应在单元格B2input以下公式,并根据需要将其复制下来:

=INDEX(List, MATCH(0, IF(MAX((COUNTIF($B$1:B1, List)=0)*((List<>"")*(COUNTIF(List, ">"&List)+1)))=(IF((List<>""), COUNTIF(List, ">"&List)+1, "")), 0, ""), 0))

它甚至会对列表进行sorting。

此信息来自以下网站,其中有一步一步的指示。

http://www.get-digital-help.com/2009/05/25/create-a-drop-down-list-containing-only-unique-distinct-alphabetically-sorted-text-values-using-excel-arrays式/

假设你的值在A:AA:A 。 制作一个列B:B编号为1, 2, 3, 4... B:B 1, 2, 3, 4...然后在单元格C1编写公式并将其向下拖动:

 =IFERROR(SMALL($A:$A,$B1),"") 

注意:这只适用于数值。