【问题标题】:Google Sheets: how to copy formula down on rows added through Google Form responses谷歌表格:如何在通过谷歌表单回复添加的行上复制公式
【发布时间】:2019-05-23 19:37:05
【问题描述】:

我正在处理被放入 Google 表格选项卡的 Google 表单结果数据,我添加了一个列来计算测验分数的百分比,然后将这些分数拉到同一张表格中的跟踪选项卡上,以计算其百分比完全的。现在,无论我尝试过哪种公式,百分比列都显示为空白字段。我想知道是否有一个不同的公式会在添加新响应时自动应用于该列?还是 Google Script 是更好的选择?

我想将原始结果数据保存在同一张表格上,因为它将所有测验编译到一张 Google 表格中,其中一个选项卡可以拉动百分比以显示完成率。

我已经尝试过 ARRAYFORMULA,如果您将其手动复制到每个条目,则有效的公式是 "=left(C2,find("/",C2)-1)/(right(C2,len(C2)-find ("/",C2)))"

【问题讨论】:

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


    【解决方案1】:

    试试

    =Arrayformula(if(len(C2:C), left(C2:C,find("/",C2:C)-1)/(right(C2:C,len(C2:C)-find("/",C2:C))),))
    

    看看这是否有效?

    【讨论】:

      【解决方案2】:

      当新的表单响应将添加到工作表时,此函数将在最后一列添加公式:

      function setFormula() {
        var ss=SpreadsheetApp.openById('SHEET_ID');
        var sheet=ss.getSheetByName('SHEET_NAME');
        var lastRow = sheet.getLastRow();
        var formulaRange1 = sheet.getRange(lastRow, sheet.getLastColumn());
        formulaRange1.setValue('=IF($A'+lastRow+'="";"";TODAY()-$Q'+lastRow+')');
      }
      

      您的公式必须相应调整。只需确保lastRow 在字符串内而不是行号内​​,然后添加一个 onFormResponse 触发器。我已将此脚本添加到表单中,而不是电子表格中。

      【讨论】:

        猜你喜欢
        • 2018-12-27
        • 2021-05-03
        • 2016-07-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-27
        • 2021-12-03
        相关资源
        最近更新 更多