我正在尝试从数据验证下拉列表中删除空白值。为此,我动态地将源列(例如,Column1)中的所有非空值填充到另一列(例如column2),最后我在数据验证列表中引用此动态列。下面是我使用它删除空白并填充动态列的公式:
=IFERROR(INDEX([Column1],SMALL((IF(LEN([Column1]),ROW(INDIRECT("1:"&ROWS([Column1]))))),ROW([@Column1]))),"")
这里的问题是来自column1的前三个值没有填充到column2中。我观察到ROW([@Column1]
总是返回与sheet对应的行的索引。我需要与表对应的行的索引而不是表单?
有人可以帮忙。我有点坚持如何实现这个目标?
答案 0 :(得分:1)
[@ Column1]中的@符号表示"当前行"。
代替ROW([@Column1]
尝试row(A1)
。这将返回值1,当向下复制时将调整为2,3,4等
完整的公式是
= IFERROR(INDEX([列1],SMALL((IF(LEN([列1]),ROW(INDIRECT(" 1:"&安培; ROWS([列1]))))) ,ROW(A1)))"&#34)
这是一个数组公式,必须使用 Ctrl -Shift-Enter
确认以下是结果的屏幕截图