用一组列中的第一个非空条目(从左到右)填充单元格,
-
我正在尝试用一组列中的第一个非空条目(从左到右)填充单元格。
- 示例表如下。
- 所需的工作表输出如下。
-
我在列A中应用数组公式
=INDEX(B2:D2,MATCH(FALSE,ISBLANK(B2:D2),FALSE))
,在单元格A2,A3,A4中将公式视为{=INDEX(B2:D2,MATCH(FALSE,ISBLANK(B2:D2),FALSE))}
但我得到以下结果,而不是所需的一个。 - 有人可以帮忙指出我哪里错了。
使用AGGREGATE¹函数查找第一个非空白单元格,并将其传递回INDEX函数 。
A2中的标准公式是,
=INDEX($B2:$Z2, AGGREGATE(15, 6, COLUMN(A:Z)/SIGN(LEN($B2:$Z2)), 1))
根据需要填写。
¹AGGREGATEfunction是在Excel 2010中引入的。它在早期版本中不可用。
你的数组公式应该可以像任何这些一样工作,
=INDEX(B2:D2,MATCH(1, SIGN(LEN(B2:D2)), 0)) =INDEX(B2:D2,MATCH(0, --ISBLANK(B2:D2), 0)) =INDEX(B2:D2,MATCH(FALSE, ISBLANK(B2:D2), 0))
数组公式需要用Ctrl + Shift + Enter 键来完成。 一旦正确input第一个单元格,就可以像任何其他公式一样向下或向右填充或复制它们。