2

我希望我的 Google 电子表格能够自动将在单元格 F2 到 H2 中找到的公式应用于所有新的表单插入行。您可以在此处查看电子表格。

公式是:

F2: =IF(B2, "I"&B2,"--")

G2: =vlookup(C2,SectionID!$A$2:$B$13,2,FALSE)

H2: =vlookup(D2,ReporterID!$A$2:$B$12,2, FALSE)

我尝试手动将公式应用于第 3 到 10 行,但是当提交表单时,数据会添加到不包含公式的新创建的行中。(表单数据提交到 A 到 E 列。)

随意更改电子表格。

谢谢您的帮助。

4

1 回答 1

2

您将需要使用脚本来填充表单提交的公式,或者使用开箱即用的解决方案,它是一个数组公式:

=ArrayFormula(IF(A2:A;IF(B2:B;"I"&B2:B;"--");IFERROR(1/0)))

=ArrayFormula(IFERROR(VLOOKUP(C2:C;SectionID!$A$2:$B$13;2*SIGN(ROW(A2:A));FALSE)))

=ArrayFormula(IFERROR(VLOOKUP(D2:D;ReporterID!$A$2:$B$12;2*SIGN(ROW(A2:A));FALSE)))

下面是关于将 VLOOKUP 转换为向下迭代数组所涉及的技巧的一些讨论。

您还可以调用第 1 行中的公式来填充标题,这可以缓解可能在第 2 行上方插入行的情况:

=ArrayFormula(IF(ROW(A:A)=1;"IssueID";IF(A:A;IF(B:B;"I"&B:B;"--");IFERROR(1/0))))

=ArrayFormula(IF(ROW(A:A)=1;"SectionID";IFERROR(VLOOKUP(C:C;SectionID!$A$2:$B$13;2*SIGN(ROW(A:A));FALSE))))

=ArrayFormula(IF(ROW(A:A)=1;"ReporterID";IFERROR(VLOOKUP(D:D;ReporterID!$A$2:$B$12;2*SIGN(ROW(A:A));FALSE))))

于 2013-05-09T00:15:23.167 回答