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

141
Vistas
Automatización de la fecha de una columna en Google Sheet usando Apps Script

Estoy tratando de automatizar completamente un informe de palabras clave en Google Sheet.
Exporto mis datos mensualmente desde una API llamada Supermetrics.
Mi secuencia de comandos a continuación agrega una nueva columna (después de F) y copia los datos en la columna recién creada (solo la parte de 'fecha' de la secuencia de comandos no funciona).
Me gustaría que el encabezado de esta columna sea la fecha de mi exportación de datos.

  1. ¿Cómo puedo nombrar mi columna por la fecha que quiero (que se encuentra en la celda C18)?
  2. ¿Cómo puedo editar mi script para que mi columna tenga el nombre de una fecha en particular (digamos el 1 de cada mes)?

Debajo del enlace a mi hoja de Google y el guión. ¡De antemano muchas gracias por tu ayuda!
https://docs.google.com/spreadsheets/d/1ZD-3r3sceK0H7Q17agyZqVggH3D6utnEFPy69aP2wUg/edit#gid=0

 function insertColumn() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName('KW'); var date = new Date(); var valuestocopy = sheet.getRange(2, 6, 14, 1) sheet.insertColumnAfter(6).getRange(1,15).setValue(date).setNumberFormat("DD.MM.YY"); valuestocopy.copyValuesToRange(sheet, 7, 7, 2, 15); }
about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

Noté que su código no funcionó debido a su uso de la función getRange() en la línea 6. Lo que hizo su código fue apuntar a la celda en la fila 1, columna 15 e insertar la fecha en esta celda. Entonces, lo que hice fue apuntar la función a la celda deseada (G1).

 function myFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName('KW'); var date = new Date(); var valuestocopy = sheet.getRange(2, 6, sheet.getLastRow(), 1); sheet.insertColumnAfter(6).getRange("G1").setValue(date).setNumberFormat("DD/MM/YY"); valuestocopy.copyValuesToRange(sheet, 7, 7, 2, sheet.getLastRow()); sheet.getRange(1,6,sheet.getLastRow(),1).clearContent(); }

Con este código, la marca de tiempo ya se genera a partir del script y se pega en la fila 1 de la columna recién insertada en lugar de copiar los datos almacenados en la celda C18 que también contiene la marca de tiempo actual.

Ficha antes de la aplicación del código: https://i.stack.imgur.com/DEBat.png

Ficha tras la aplicación del código: https://i.stack.imgur.com/Xgzup.png

Referencia: copyValuesToRange() getRange(a1Notation) getLastRow()

Editar: agregué la opción sheet.getLastRow() durante la selección de rango para que pueda ajustarse en función de los datos que deben copiarse.

about 4 years ago · Santiago Gelvez 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