删除 Excel 数据验证列表下拉列表中的空白值时出现问题?

Issue while removing blank values in Excel data validation list drop down?

我正在尝试从数据验证下拉列表中删除空白值。为此,我将源列(例如 Column1)中的所有非空白值动态填充到另一列(例如 column2),最后我在数据验证列表中引用此动态列。下面是我用它来删除空白并填充动态列的公式:

=IFERROR(INDEX([Column1],SMALL((IF(LEN([Column1]),ROW(INDIRECT("1:"&ROWS([Column1]))))),ROW([@Column1]))),"")

这里的问题是 column1 中的前 3 个值没有填充到 column2 中。我观察到 ROW([@Column1] 总是 return 我是对应于 sheet 的行的索引。我需要对应于 table 而不是 sheet?

的行的索引

任何人都可以 help.I 我对如何实现这个有点困惑吗?

[@Column1] 中的 @ 符号表示 "the current row"。

代替 ROW([@Column1] 试试 row(A1)。这将 return 值 1,向下复制时将调整为 2、3、4 等

完整的公式为

=IFERROR(INDEX([Column1],SMALL((IF(LEN([Column1]),ROW(INDIRECT("1:"&ROWS([Column1]))))),ROW(A1)) ),"")

这是数组公式,必须用Ctrl-Shift-Enter

确认

这是结果的截图