我也有这个问题。我需要使用来自谷歌表单的答案构建一个控制板,问题:当您在提交答案的工作表旁边的列中使用公式时,谷歌会插入一个新行但不会复制公式,所以你最终一遍又一遍地复制和粘贴公式。
为了解决这个问题,我使用了一个脚本来复制公式所在的单元格并将其粘贴到答案所在的所有行中。
脚本很简单,首先你必须在“工具”菜单中打开脚本编辑器,然后粘贴下面的代码。您只需在代码中“调用”具有名称的工作表,然后标记公式所在的列。在这种情况下,hoja1 是“BD ingresos”,hoja2 是“DB gastos”
在这种情况下,我有表单部署答案的工作表是“BD ingreso”和“BD gastos”,我计算的列是“BD ingresos”中的 A、B、C、D 和 E 与“BD Gastos”。
(西班牙语名字,对不起)
// Activar la hoja actual
var ss = SpreadsheetApp.getActiveSpreadsheet();
// se guarda hoja1
var hoja1 = ss.getSheetByName("BD ingreso");
var hoja2 = ss.getSheetByName("BD gastos")
function actualizar() {
// obtener ultima fila de la hoja
var ultimaFila = hoja1.getLastRow();
rellenarColumna("A",ultimaFila,hoja1);
rellenarColumna("B",ultimaFila,hoja1);
rellenarColumna("C",ultimaFila,hoja1);
rellenarColumna("D",ultimaFila,hoja1);
rellenarColumna("E",ultimaFila,hoja1);
// obtener ultima fila de la hoja
var ultimaFila = hoja2.getLastRow();
rellenarColumna("A",ultimaFila,hoja2);
rellenarColumna("B",ultimaFila,hoja2);
rellenarColumna("C",ultimaFila,hoja2);
rellenarColumna("D",ultimaFila,hoja2);
rellenarColumna("E",ultimaFila,hoja2);
}
function rellenarColumna(pivote, ultimaFila,hojaTrabajo)
{
//-------------------------------------------------------------
//celda que contiene la información que se va a pegar.
var celdaCopiarFormula = hojaTrabajo.getRange(pivote+"2");
//obtener valor de dicha celda
var valorCeldaCopiarFormula = celdaCopiarFormula.getFormula();
//modificar rango para que pegue la información desde la ubicacion enviada hasta la ultima fila
var rangoTotal = pivote + "2:" + pivote + ultimaFila;
//definir ubicacion en donde se va a pegar la informacion
var destinoPegado = hojaTrabajo.getRange(rangoTotal);
destinoPegado.setFormula(valorCeldaCopiarFormula);
}
Then you have to create a trigger in the script editor as this image shows. Set the trigger to launch the code "actualizar" with the event "from the spreadsheet" "on form submit"