首页 文章

如何将公式应用于Google Spreadsheets中新的表单插入数据行?

提问于
浏览
1

我希望我的Google电子表格能够自动将单元格F2到H2中找到的公式应用到所有新的表单插入行 . You can view the spreadsheet here.

公式是:

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栏)

随意更改电子表格 .

谢谢您的帮助 .

1 回答

  • 1

    您需要使用脚本填充表单提交中的公式,或使用现成的解决方案,该解决方案是一个数组公式:

    =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)))

    Here是关于将VLOOKUP转换为迭代数组所涉及的技巧的一些讨论 .

    您还可以调用第1行中的公式来填充 Headers ,这可以减少可能在第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))))

相关问题