是否有一个arrayformula用上面的单元格中的内容填充一列中的所有空白单元格?

时间:2019-04-26 04:38:36

标签: google-sheets

在以下Google表格中:

  A          B
 ------------------------
1| Tom     | something  |
2|         | something  |
3| John    | something  |
4| Lana    | something  |
5|         | something  |
6|         | something  |
7| Jason   | something  |
 ------------------------

我希望将一个数组公式应用于A列,该公式将自动用上面的单元格中的最后一个数据填充任何空白(如果有多个空白,则在该上方的单元格中自动填充所有空白)。

结果应如下所示:

  A          B
 ------------------------
1| Tom     | something  |
2| Tom     | something  |
3| John    | something  |
4| Lana    | something  |
5| Lana    | something  |
6| Lana    | something  |
7| Jason   | something  |
 ------------------------

由于工作表可能很大,因此将公式应用于每个单元格是不现实的。

如果我将公式=if(ISBLANK(A2), A1)手动粘贴到空格中,它将填充它们,但是将所述公式拖动到整个列上将不起作用。

3 个答案:

答案 0 :(得分:1)

是的,您可以使用vlookup来做到这一点,方法是创建一个包含行号的数组,并使用vlookup的不精确查找形式,以便找到包含文本的上一行:

=ArrayFormula(query({vlookup(row(A:A),{if(A:A<>"",row(A:A)),A:A},2),B:B},"select Col1,Col2 where Col2 is not null"))

enter image description here

答案 1 :(得分:0)

实现此目标的最简单方法是创建一个新列,并从B2开始使用公式=IF(ISBLANK($A2), $B1, $A2)。我认为您的意思是您不能简单地将色谱柱更换到位,对吗?在这种情况下,可以解决该问题,但它不是单个arrayformula。如果您担心将公式插入所有行,请尝试选择第一个单元格,按CTRL + SHIFT +向下箭头键选择整个范围,然后按CTRL + ENTER粘贴公式。

如果您确实需要一个数组公式,则希望=ArrayFormula(IF(ISBLANK(A2:A), B1:B, A2:A))之类的方法可以工作,但是不幸的是,Sheets不会遍历此公式的结果,因此它不会起作用。其他功能(例如vlookup) do 可以正常运行,但是我不确定如何编写公式来使用这些功能来实现您要在此处执行的操作。

答案 2 :(得分:0)

用一个单词“ NO”回答您的问题(虽然有点简单)。

一种可能合适的方法是过滤ColumnA以仅选择(Blanks),然后在第一个空白单元格(在您的情况下为A2)中输入:

=A1

其中1是公式单元格正上方的行号。

向下复制以适合并编辑>复制>编辑>特殊粘贴>仅粘贴值,然后取下过滤器。