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

239
Vistas
Cómo copiar un rango de datos de una hoja a otra usando Google Sheet Script

Descargo de responsabilidad: solo soy nuevo en la codificación y solo quiero automatizar las cosas en mi trabajo.

Quiero copiar datos de la hoja 'Entrada de datos' a otra hoja especificada por la celda en la hoja 'Entrada de datos'.

aquí está el código que estoy usando:

 function DataEntry() { let spreadSheet = SpreadsheetApp.getActiveSpreadsheet(); let sourceSheet = spreadSheet.getSheetByName('Data Entry'); let sourceRange = sourceSheet.getDataRange(); let sourceValues = sourceRange.getValues(); let rowCount = sourceValues.length(); let columnCount = sourceValues[0].length(); let targetSheet = spreadSheet.getSheetByName('6'); let targetRange = targetSheet.getRange(2,1,rowCount,columnCount); targetRange.setValues(sourceValues); }

En la hoja de origen, quiero copiar los datos a partir de la fila 3, columna L. (la cantidad de filas varía en cada lote de datos)

Luego en la hoja de destino, que será especificada por una celda en la hoja de origen (celda T2). El pegado debe comenzar en la fila 2, columna A.

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

0

function DataEntry() { let spreadSheet = SpreadsheetApp.getActiveSpreadsheet(); let sourceSheet = spreadSheet.getSheetByName('Data Entry'); let sourceRange = sourceSheet.getDataRange(); let sourceValues = sourceRange.getValues(); let sheetName = sourceValues[1][19]; sourceValues = sourceValues.slice(2).map(row => row.slice(11)); let rowCount = sourceValues.length; let columnCount = sourceValues[0].length; let targetSheet = spreadSheet.getSheetByName(sheetName); let targetRange = targetSheet.getRange(2,1,rowCount,columnCount); targetRange.setValues(sourceValues); }

Explicación:

  • Dado que getValues() devuelve una matriz 2D, para obtener el valor de una determinada celda, solo tiene que usar los índices de matriz apropiados para acceder al elemento deseado (en este caso, 1 y 19 , correspondiente a T2 ).
  • Use map and slice para recuperar un subconjunto de los valores de rango. También puede recuperar el rango correspondiente directamente (p. ej sourceSheet.getRange("L3:L").getValues().flat().filter(String) ), pero de esta manera está minimizando la cantidad de llamadas al servicio spreadheet , lo cual es una buena práctica .
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