【发布时间】:2023-01-03 18:20:45
【问题描述】:
我一直在努力寻找一种方法删除使用表单响应定位的行,然后将其与以前提交的表单中充满名称的列进行比较避免电子表格中的重复数据。下面的代码是我到目前为止所拥有的。如果代码没有意义,我深表歉意,因为我试图适应以前给我的代码。它有一个类似的概念,我认为它会以某种方式起作用,但它不起作用。
var formResponses = form.getResponses();
for (var i = 0; i < formResponses.length; i++) {
var formResponse = formResponses[i];
var itemResponses = formResponse.getItemResponses();
for (var j = 0; j < itemResponses.length; j++) {
var itemResponse = itemResponses[1];
var finalitemResponse = itemResponse.getResponse();
nameofclient_runningbalance.setValue(finalitemResponse);
Logger.log(finalitemResponse);
var values = hospitalSheet.getRange(2, 4, hospitalSheet.getLastRow(), 1).getValues();
Logger.log(values);
var { v, cells } = values.reduce((o, r, i) => {
if (r[4] == finalitemResponse) {
hospitalSheet.getRangeList(cells).deleteRows(cells.length, cells[0].length);
o.cells.push(`R${i + 2}`);
}
return o;
}, { v: [], cells: [] });
if (v.length == 0) return;
}
}
类似于验证,其中删除使用给定名称的表单响应定位的行,并与充满名称的列进行比较。还有其他方法可以通过它,但我想知道是否有一种方法可以通过我现在使用的方法来获得额外的知识。
【问题讨论】: