用 Google 表格查询中最近的非空白单元格替换空白

Replace blanks with nearest non-blank cell in Google Sheets query

给出以下 table:

Col1   Col2
1      Lorem
       Ipsum
2      Dolor
3      Sit
       Amet
       Consecutor

我正在尝试将此查询到另一个 sheet,其中 Col1 的值替换为列中先前的非空白单元格,例如结果将如下所示:

Col1   Col2
1      Lorem
1      Ipsum
2      Dolor
3      Sit
3      Amet
3      Consecutor

我尝试了很多东西:query() ArrayFormula() filter() row() index() lookup()。我已经无计可施了。任何人都可以帮助公式或其他技术来做到这一点吗?我无法在目标 sheet 中执行任何操作,因为源 sheet 可以随时更新。

试试 Col3 中的这个简单公式:

=ARRAYFORMULA(QUERY({VLOOKUP(ROW(A:A), 
 {IF(A:A<>"", ROW(A:A)), A:A}, 2), B:B}, 
 "select Col1,Col2 where Col2 !=''"))