Necesito poner datos en la hoja por secuencia de comandos de la aplicación usando getLastRow para poner cada valor debajo del último valor:
function addData(name, age, gender) { var ss= SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName("Sheet2"); var currentRow = sheet .getLastRow(); var nextRow = currentRow + 1; sheet .getRange(nextRow,5).setValue(name); sheet .getRange(nextRow,6).setValue(age); sheet .getRange(nextRow,7).setValue(gender); }Tengo datos que se usan antes de la columna 5 y los datos se colocan después de nextRow para la columna antes que la columna 5
ingrese la descripción de la imagen aquí
Quiero poner obtener el resultado así:
La respuesta es:
function addData(name, age, gender) { var ss= SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName("Sheet2"); var startcolumn = tableSheet.getRange("E1:E").getValues(); var currentRow = startcolumn.filter(String).length var nextRow = currentRow + 1; sheet .getRange(nextRow,5).setValue(name); sheet .getRange(nextRow,6).setValue(age); sheet .getRange(nextRow,7).setValue(gender); }Esto funcionará siempre que la columna en la que desea insertar el valor esté "clara", lo que significa que no hay posibilidad de que haya datos antiguos o celdas vacías debajo del punto de ubicación.
Cambio
var currentRow = sheet .getLastRow();A
var currentRow = sheet.getRange(1,5).getNextDataCell(SpreadsheetApp.Direction.DOWN).getRow();