Excel从列的非空值列出

时间:2014-06-18 13:58:04

标签: excel excel-formula

我想根据列的非空值创建一个列表。

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

此列表中的值是动态的,因此我无法在其他位置复制这些值。

当我从列中选择所有值然后从列中创建列表时,当我将其用作下拉列表时,我在列表中也有空值。

有没有办法在不使用宏的情况下自动从列表中删除空条目?

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

感谢。

2 个答案:

答案 0 :(得分:1)

最简单的方法是在下拉列表中包含您想要的另一个(隐藏)列。如果您将所需的源数据的(动态)命名范围定义为List,则应在单元格B2中输入以下公式并根据需要向下复制:

=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))

它甚至会对列表进行排序。

此信息来自以下网站,该网站有分步说明。

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

答案 1 :(得分:0)

我们假设您的值位于A:A列中。创建一个包含数字B:B的列1, 2, 3, 4...然后在单元格C1中编写公式并将其拖放到其中:

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

注意:这仅适用于数值。