填写 ={ARRAYFORMULA()} 中的空白单元格

Ale*_*ysh 3 if-statement nested-if google-sheets vlookup array-formulas

我有一个包含稀疏数据的人性化工作表:

PART  | FRUIT
---------------
Alpha | 
      | Apples
      | Pears
Beta  |
      | Lemons
      | Oranges
Run Code Online (Sandbox Code Playgroud)

我想创建第二个自动更新的机器友好工作表,该工作表将填充 PART 列中的所有空单元格:

PART  | FRUIT
---------------
Alpha | 
Alpha | Apples
Alpha | Pears
Beta  |
Beta  | Lemons
Beta  | Oranges
Run Code Online (Sandbox Code Playgroud)

我可以在机器友好的工作表上的“水果”列中保留空白单元格。但理想情况下我希望删除这些行:

PART  | FRUIT
---------------
Alpha | Apples
Alpha | Pears
Beta  | Lemons
Beta  | Oranges
Run Code Online (Sandbox Code Playgroud)

如果我想在机器友好的工作表中使用插值,我会依靠MATCH 技巧FILTER 粘贴到任何地方的公式

但我真的想避免在添加、更改或删除原始工作表中的行时更新机器友好的工作表。(如果我向原始工作表添加新列,则必须更新它,我没问题。)这意味着使用手动插值是禁止的。

理想的情况是,我会在第二张纸上输入一个魔法={ARRAYFORMULA()}=QUERY某种魔法,然后就不管它了。

={ ARRAYFORMULA(MAGIC(PART)), FRUIT }

但到目前为止,我还无法思考如何解决这个问题。有什么建议么?

pla*_*er0 5

在第 2 行中使用:

=ARRAYFORMULA(IF(B2:B="",, VLOOKUP(ROW(A2:A), IF(A2:A<>"", {ROW(A2:A), A2:A}), 2, 1)))
Run Code Online (Sandbox Code Playgroud)

  • 这对我有用(我把它放在机器可读表的A1中) `=FILTER({ ARRAYFORMULA(IF(FRUITS="",, VLOOKUP(ROW(PARTS), IF(PARTS&lt;&gt;"", {ROW(部分), 部分}), 2, 1))), 水果}, 水果&lt;&gt;"")` (2认同)