Google 表格 - 从上面获取值

Google Sheets - get value from above

我正在尝试在 Google 表格单元格中计算出一个函数来查看列,然后搜索当前行和当前行“上方”以查找非数字值(文本)。 我有两列 B(项目代码或类别)和 C(项目描述)中的数据。

我需要另一列来包含每个项目的类别 - D 列。我正在寻找此列的公式,最好是 Arrayformula,因为数据可以更改,每个类别可以有多个项目,有些可能只有 1 个项目,有些可能是每个类别 100 个项目。如果 D 列中的 arrayformula 不是数字,则将从 B 列中获取类别。

B column - categories and item codes, C column - item descriptions, target is D column a copy of the categories from column B.

我已经尝试了很多次,但通常会放弃,手动完成,但很快就会变得乏味。期待由此产生的任何帮助!谢谢。

在D2尝试

=Arrayformula(if(isnumber(B2:B), vlookup(row(B2:B), filter({row(B2:B) , B2:B}, istext(B2:B)), 2), B2:B))

看看是否可行?

在 D1 中尝试

={"Category";ArrayFormula(lookup(row(B2:B),row(B2:B)/if(isnumber(B2:B),0,1),B2:B))}