Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

237
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!