Function GoogleApps Scipt-使用OnEdit从输入转换数据

Function GoogleApps Scipt-使用OnEdit从输入转换数据,function,google-apps-script,google-sheets,Function,Google Apps Script,Google Sheets,我是GAS新手,正在努力使用OnEdit函数将数据从一张纸复制粘贴到另一张纸上。我有一个输入表和一个主表,使用OneEdit从单元格D36读取“提交”,并将数据作为转置从“输入”E3:E36传输到“主列表”A5:AG5 一旦在下拉列表中选择了“提交”,我的代码(见下文)就会从输入表中删除所有数据。“总名单”上没有显示任何内容。此代码中的选定范围是否被删除,如果是,我如何确保它粘贴在最后一行数据末尾的“主列表”表中(此处显示为第5行) 是否也有办法保留输入范围内的公式以备将来输入(根据E5中输入的

我是GAS新手,正在努力使用OnEdit函数将数据从一张纸复制粘贴到另一张纸上。我有一个输入表和一个主表,使用OneEdit从单元格D36读取“提交”,并将数据作为转置从
“输入”E3:E36
传输到
“主列表”A5:AG5

一旦在下拉列表中选择了“提交”,我的代码(见下文)就会从输入表中删除所有数据。“总名单”上没有显示任何内容。此代码中的选定范围是否被删除,如果是,我如何确保它粘贴在最后一行数据末尾的“主列表”表中(此处显示为第5行)

是否也有办法保留输入范围内的公式以备将来输入(根据E5中输入的数据,我在E8:E10中有一个vlookup)


谢谢

setValue和getValue命令用于一个单元格范围,最多用于大范围的左上角单元格。如果要从多单元范围中获取值,请使用getValues返回二维值数组;如果要为多单元范围设置值,请使用setValues。下面是一个示例,介绍了函数


另外,当您创建新代码时,如果您将命令链分解,以便可以使用调试器查看中间答案,那么调试就更容易了。

谢谢您的回复,Cooper。当我在这段代码中更新getValues和setValues时,输入或主控表上都没有发生任何事情。这是因为所选范围无法解析为二维数组吗?这对我来说也是一个难题。事实上,我用单行、单列和多行、多列做了一些测试,只是为了进一步了解问题以及如何通过使用调试器来解决问题。我已经能够在脑海中画出一幅图片,帮助我可视化和解决这些问题。我写了一点关于它的内容,并做了一个简短的视频,你可以找到,我想它可能会帮助你理解如何处理这个问题。
function onEdit(e) {

if (e.source.getActiveSheet().getName() !== "Input" || e.range.rowStart != 36 || e.range.columnStart != 4 | e.value !== "Submit") return
e.source.getActiveSheet()
.getRange("E3:E36")
    .setValue(e.source.getSheetByName("MasterList")
        .getRange("A5:AG5")
        .getValue())

}