Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
列的非空值的Excel列表_Excel_Excel Formula - Fatal编程技术网

列的非空值的Excel列表

列的非空值的Excel列表,excel,excel-formula,Excel,Excel Formula,我想从列的非空值创建一个列表 因此,我想在其他工作表中将此列表用作下拉列表 此列表中的值是动态的,因此我无法将这些值复制到其他位置 当我从一列中选择所有值,然后从中创建一个列表时,当我将其用作下拉列表时,列表中还有空值 有没有一种方法可以在不使用宏的情况下自动从列表中删除空条目 我不想从列中删除空单元格,因为它是另一个表的一部分 谢谢。假设您的值在A:A列中。用数字1,2,3,4…制作一列B:B,然后在单元格C1中写入公式并将其向下拖动: =IFERROR(SMALL($A:$A,$B1),""

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

因此,我想在其他工作表中将此列表用作下拉列表

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

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

有没有一种方法可以在不使用宏的情况下自动从列表中删除空条目

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


谢谢。

假设您的值在
A:A列中。用数字
1,2,3,4…
制作一列
B:B
,然后在单元格
C1
中写入公式并将其向下拖动:

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

注意:这仅适用于数值。

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

=索引(List,MATCH(0,IF(MAX)((COUNTIF($B$1:B1,List)=0)*((List“”)*(COUNTIF(List,“>”&List)+1))=(IF((List“”),COUNTIF(List,“>”&List)+1“”),0“”),0))

它甚至会对列表进行排序

此信息取自以下网站,该网站有逐步说明


我想你不明白我的要求。我想从列中的值列表创建一个下拉列表。但我不希望下拉列表中出现空值。在这种情况下,您需要VBA,因为下拉列表中的值数量不能是动态的。或者您可以为下拉列表指定更大的源,但底部的值为空。@Taosique您可以在不使用VBA的情况下拥有一个动态列表。您只需使用
OFFSET()
函数即可。如果数据在A列中,它将类似于
=OFFSET(A1,0,0,COUNTA(A:A),1)
经过一些小的修改,我成功地使它工作了,谢谢。如果你想不排序,它会更容易
=INDEX($A$2:$A$11,MATCH(0,If(ISBLANK($A$2:$A$11),1,COUNTIF(B1:$B$1,$A$2:$A$11)),0)