如果是Google应用脚本中的条件公式或公式

时间:2012-06-29 04:27:17

标签: google-apps-script google-sheets

我正在尝试使用谷歌应用程序脚本在电子表格中添加条件公式,但我没有找到解决此问题的方法。

相当于所需GAS的VBA是:

  

Sub aging()

     

为老年人提供老化板坯

     

使用范围(“ap2:ap4000”)

     

.Formula =“= IF(u2 =”“”“,”“”“,if(u2&lt; 0,”“   RC “”,IF(AND(U2&GT; = 0,U2&LT; 31) “” 老龄   0-30 “”,IF(AND(U2&GT; = 31,U2&LT; = 60) “” 老龄   31-60 “”,IF(AND(U2&GT; = 61,U2&LT; = 90) “” 老龄   61-90 “”,IF(AND(U2&GT; = 91,U2&LT; = 120) “” 老龄   91-120“”,IF(和(u2> 120,u2 <= 180),“”老化121-180“”,IF(u2> 180,“”更多   超过6个月“”,“”“”))))))))“

     

.Value = .Value

     

结束

     

End Sub

请在GAS中建议VBA与此相当。

由于

同样的问题发布在https://productforums.google.com/forum/#!category-topic/docs/spreadsheets/how-do-i/desktop/H2dXGR7arvU

2 个答案:

答案 0 :(得分:0)

您可以使用Range.setFormula()在单元格中设置公式。

SpreadsheetApp.getActiveRange().setFormula('=SUM(A1:A100)');

答案 1 :(得分:0)

  1. 我认为你可以通过不对每种情况进行两次检查来减少复杂性
  2. 在JS中,您可以在其中放置单引号和双引号,或者在其中放置“和\”。
  3. 您可以将ArrayFormula用于此类任务,甚至可以取消Google Apps脚本或VBA(最后只是一个公式)
  4. SpreadsheetApp.getRange(“AP2”)。setFormula('IF(U2:U4000 =“”,“”,IF(U2:4000&lt; 0,“在RC之后报告的交付”,IF(U2:U4000 <= 30) ,“老化0-30”,IF(U2:U4000 <= 60,“老化31-60”,IF(U2:U4000 <= 90,“老化61-90”,IF(U2:U4000 <= 120,“老化91-120“,IF(U2:U4000 <= 180,”老龄化121-180“,”超过6个月“,”“)))))))));