【问题标题】:Changing value of a cell based on another value in the same row on Google form submit根据 Google 表单提交中同一行中的另一个值更改单元格的值
【发布时间】:2015-06-16 06:02:19
【问题描述】:

我对 Google 表单和电子表格非常陌生,我想做的是我的表单中有一个“年龄”问题,当用户提交表单时我想要它,这样如果年龄低于 18 , 一个单元格的值是“MINOR”,如果它是 18 或以上,它会被“MAJOR”填充。

基本上我想根据“AGE”的值动态地向这个单元格添加一个值。

我现在在做什么:

function myfunction(e) {
  var age = Number(e.values[3]);
  var minmaj;
  if (age < 18){
    minmaj = "MINOR";
  } else {
    minmaj = "MAJOR";
  }
  SpreadsheetApp.getActiveSheet().getRange(e,14).setValue(minmaj);
}

其中e,14 是值次要/主要值的单元格。

【问题讨论】:

    标签: javascript google-apps-script google-sheets google-forms


    【解决方案1】:

    如果在表单响应数据右侧列的第 2 行中输入此公式,则可以根据需要使用:

    =ARRAYFORMULA(IF(A2:A="",,IF(E2:E&lt;18,"MINOR","MAJOR")))

    它将自动检测新提交并根据 E 列中的值填充单元格

    【讨论】:

      【解决方案2】:

      是的,很简单的问题...

      SpreadsheetApp.getActiveSheet().getRange(e,14).setValue(minmaj);
                                               ^
      

      在该行中,您尝试使用事件变量e 作为行号。应该是这样的:

      SpreadsheetApp.getActiveSheet().getRange(e.range.getRow(),14).setValue(minmaj);
                                               ^^^^^^^^^^^^^^^^
      

      【讨论】:

        猜你喜欢
        • 2013-12-27
        • 1970-01-01
        • 2018-01-16
        • 2013-01-10
        • 1970-01-01
        • 2020-11-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多