Google sheet 数组公式根据空白行上另一列中的索引将值分配给行

Google sheet array formula to allocate values to rows based on index in another column over blank rows

我正在努力寻找一个应该非常简单的解决方案

我有一个 sheet,其中列出了以下内容: A 列 - 索引编号(仅分配给每个项目的第一行) B 列 - 描述 C 列 - 多行中项目的详细细分 D 列 - 明细项目的成本

我需要一个数组公式来根据A列中的索引号为每个详细项目分配索引号(基本上用上面的数字填充空行,直到数字更改为下一个数字)。数字不一定是连续的

我已经在数组中尝试了 vlookup、indirect 等各种选项,但还不足以解决它。我探索的最后一个公式是

=arrayformula(if(A2:A="",vlookup(A2:A,A2:A,1),A2:A))

特此给link点差sheet:https://docs.google.com/spreadsheets/d/1MOCrzrcMwFaTujHbJYXmxNVAW8LoqR0j0kadLrF85iA/edit?usp=sharing

使用:

=ARRAYFORMULA(IF(C2:C="",, VLOOKUP(ROW(A2:A), IF(A2:A<>"", {ROW(A2:A), A2:A}), 2, 1)))