带有 IF 的数组公式未填充 Google 表格中的列

Array formula with IF not populating column in Google sheets

提问人:Celebrin 提问时间:8/10/2023 最后编辑:marc_sCelebrin 更新时间:8/12/2023 访问量:33

问:

由于某种原因,我似乎无法使我的数组公式从第一个引用的行向下填充。

背景:我在活动文档中有 15 个公式,我希望在创建新行时自动填充这些公式。

执行此操作的方法似乎是 ArrayFormula 并将引用从 O2 更改为 O2:O 以使其填充工作表。

我在这里犯了一些基本错误,我需要一些帮助:)

测试表链接 *有些标题是瑞典语(对不起):)

https://docs.google.com/spreadsheets/d/1P7M73-ITRG3LNA5O7yR0grj40d9tFF8Ve6ed6hQkiyc/edit?usp=sharing

我的测试;这是在 G1 的示例表中

Orig 公式,可以很好地拖动到新行中

=IF(AND(O2=""),"",IFERROR(MAX(($V2)/$X2,0)))

该公式检查空单元格,如果没有,它将根据其他公式计算百分比。

具有原始公式 + 标题行的数组

={"Klar"; ArrayFormula(IF(AND(O2=""),"",IFERROR(MAX((V2)/X2,0))))}

这会导致 O2 按预期填充

用某种不正确的引用,我希望能填充整个专栏

={"Klar"; ArrayFormula(IF(AND(O2:O=""),"",IFERROR(MAX((V2:V)/X2:X,0))))}

我希望该公式当前填充 O2-> O6,并在数据出现时进入包含数据的新行。

我还希望能够为所有 15 列做数组。

if-statement google-sheets 数组公式

评论


答:

0赞 Harun24hr 8/10/2023 #1

使用功能。我根据您提供的公式制作了这个公式 =IF(AND(O2=“”),“”,IFERROR(MAX(($V 2)/$X 2,0))))。MAP()

=MAP(O2:O,V2:V,X2:X,LAMBDA(x,y,z,IF(x="","",MAX(y/z,0))))

enter image description here

评论

1赞 Celebrin 8/10/2023
这很有道理,我添加了标题 ={“Klar”;MAP(O2:O,V2:V,X2:X,LAMBDA(x,y,z,IF(x=“”,“”,MAX(y/z,0))))}.当谈到我的其他公式时,你认为我也应该将它们重新制作成地图吗?另外,你知道我犯的错误吗?
0赞 Harun24hr 8/10/2023
@Celebrin 很高兴知道!如果有效,请考虑接受答案(打勾)以将问题视为已解决。
0赞 Celebrin 8/10/2023
当然可以,:)现在我只需要找出如何让 MAP 正确地为我工作。