• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

193
Views
Cómo borrar/eliminar datos después de un índice de fila determinado en las hojas de cálculo de Google

Me gustaría eliminar todos los datos después de la fila [x]. Por ejemplo, si x = 355, quiero que se eliminen todos los datos después de la fila 355.

Puedo eliminar todo el contenido en una hoja simple en la hoja de cálculo de Google con:

 var sheet = ss.getSheetByName('foo'); sheet.clearContents();

He intentado hacerlo con el método getRange:

 var range = SpreadsheetApp .getActive() .getSheetByName("foo") .getRange("A20:E71"); range.clearContent();

pero esto es simplemente borrar datos internos de A20:E71. Lo que quiero es eliminar todos los datos después de la fila A20.

about 3 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Probar:

 const sheet = SpreadsheetApp.getActiveSpreadsheet() .getSheetByName(`foo`) sheet.getRange(21, 1, sheet.getLastRow()-20, sheet.getLastColumn()) .clearContent()

El rango se define como todas las filas más allá del equivalente de A20.

Función:

 function myFunction(allRowsAfter) { const sheet = SpreadsheetApp.getActiveSpreadsheet() .getSheetByName(`foo`) sheet.getRange(allRowsAfter+1, 1, sheet.getLastRow()-allRowsAfter, sheet.getLastColumn()) .clearContent() } myFunction(20); // Delete all rows after 20

Ver:

  • getRange(fila, columna, numRows, numColumns)
about 3 years ago · Juan Pablo Isaza Report

0

Borrar todo después de la fila

 function clearAfterRow(r) {//clear everything after row r const ss = SpreadsheetApp.getActive(); const sh = ss.getSheetByName("foo"); const sr = r + 1; sh.getRange(sr, 1, sh.getLastRow() - sr + 1, sh.getLastColumn()).clearContent(); }
about 3 years ago · Juan Pablo Isaza Report

0

Debe utilizar getLastColumn() y getLastRow() .

El número de filas que se eliminarán según una fila x se puede calcular mediante lastRowIndex - x + 1 . En términos de columnas, puede simplemente eliminar todas las columnas usando 1 como valor inicial para el rango y lastColumnIndex para la cantidad de columnas a eliminar.

 Logger.log("Starting script...") const ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); const lastRow = ss.getLastRow(); const lastCol = ss.getLastColumn(); const x = 20; if(lastRow - x + 1 > 0) { ss.getRange(20, 1, lastRow - x + 1, lastCol).clearContent(); Logger.log(`Deleting all content in Range (${[x, 1, lastRow - x + 1, lastCol]})`); } Logger.log("Done.")

Sin embargo, hay una cosa que debe tener en cuenta en caso de que ejecute esto varias veces o x sea más grande que la última fila con contenido en su Hoja. Debe verificar si el rango afecta al menos a una fila; de lo contrario, obtendrá un error. The number of rows in the range must be at least 1. Por lo tanto, verifique lastRow - x + 1 > 0 antes de eliminarlo.

about 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error