Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

264
Vistas
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?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

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í

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda