在带有 appendRow 的公式中使用 Row()

Using Row() within a formula with appendRow

所以我从 GMail 中提取一些数据并向具有特定格式的 sheet 添加一个新行。姓名、地址等

在“P”列上,我想复制以下内容:

=IF(NOT(ISBLANK($J3985)),"Replied", IF((TODAY()>=$O3985),"Late", "OK"))

但是,我想在追加行号时用 Row() 替换 3985。我试过玩: ADDRESS(row(),10) 但是这个 returns 一个字符串值,我似乎无法以有效的方式重新插入到公式中。

我现在在 appendRow 中传递的内容:

  var replied = "";
  var later = x // a Date that's today + 6 weeks
  var checkResult = `=IF(NOT(ISBLANK(` + replied + `)), "Replied", IF((TODAY()>=` + later + `), "Late", "OK"))`;

我想要它,以便我可以稍后在 sheet 中填充“已响应”单元格,这样它仍然有效。很想听听您对此的建议。

如果使用appendRow:

=IF(NOT(ISBLANK(INDIRECT("RC[-6]",FALSE))),"Replied", IF((TODAY()>=INDIRECT("RC[-1]",FALSE)),"Late", "OK"))

如果使用setFormulaR1C1:

  • 方法一

直接用模板字面量放置行号

  • 方法二

你可以使用 setFormulaR1C1(formula)

'=IF(NOT(ISBLANK(RC[-6])), "Replied", IF((TODAY()>=RC[-1]), "Late", "OK"))';