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

0

163
Views
Inserte una fila en blanco después de la fecha que tiene el domingo como el día en las secuencias de comandos de la aplicación de Google

Tengo una columna en las hojas de Google que tiene un rango de fechas. Quiero insertar una fila en blanco después de las fechas que son domingos (solo me importa el día).

El pseudocódigo en el que estaba pensando es el siguiente:

  1. Recorra la columna de fechas
  2. Formatee la fecha para que solo tomemos el día en abreviatura completa (es decir, domingo)
  3. Si la fecha con formato es igual a la cadena "Domingo", inserte una fila debajo de esa fecha.

Aquí está mi guión actual:

 function addRows() { const ss = SpreadsheetApp.getActiveSpreadsheet() const sheet = ss.getActiveSheet(); const range = sheet.getDataRange(); const data = range.getValues(); for (let i = 1; i < data.length; i++) { const sheetDate = data[i][0]; const day = Utilities.formatDate(sheetDate, ss.getSpreadsheetTimeZone(), "EEEE"); if (day === "Sunday") { sheet.insertRowsAfter(i, 1); // I know this shouldn't be i, it should be the index of the row with the value "Sunday" } } }

Creo que el problema está en el primer argumento de la función insertRowsAfter() . ¿Cuál debería ser este argumento?

almost 3 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Parece que cada inserción de nuevas filas después de una posición de fila, su rango de datos se ajusta, por lo tanto, también necesita ajustar la posición de la fila para las siguientes filas que contienen Sunday .

Sugerencia

Tal vez puedas probar este script modificado a continuación:

 function addRows() { const ss = SpreadsheetApp.getActiveSpreadsheet() const sheet = ss.getActiveSheet(); const range = sheet.getDataRange(); const data = range.getValues(); var count = 0; for (let i = 1; i < data.length; i++) { var row = i+1; //Get the sheet row number of every data from "data" variable const sheetDate = data[i][0]; const day = Utilities.formatDate(sheetDate, ss.getSpreadsheetTimeZone(), "EEEE"); if (day == "Sunday") { count += 1; //Count how many times "Sunday" was found var curRow = row+count; //Adjust the current row # curRow -= 1; //Subtract 1 row from the current row to match the sheet sheet.insertRowsAfter(curRow,1) } } }

Prueba de muestra

  • Hoja de prueba:

ingrese la descripción de la imagen aquí

  • Después de ejecutar el script modificado:

ingrese la descripción de la imagen aquí

almost 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