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

145
Vistas
Búsqueda de índices de fila basados en la celda de ID

Estoy tratando de copiar una fila específica en función de la ID, pero por ahora estoy luchando y copiando solo 1 fila en otra hoja, lo que debo hacer es cuando selecciono la ID para copiar todas las filas con la misma ID en otra hoja

 let array= []; const catchID= (searchID) => { for(let i=0; i < rangeID.length; i++) { if(rangeID[i][0] === trazeniID){ array.push(rangeID[i]); } } return array; } catchID(searchID); const copyToAnotherSheet= () => { const selectedCell = sheet.getActiveCell(); const selectedCellRowIndex = selectedCell.getRow(); // get selected row const sourceRange = sheet.getRange(selectedCellRowIndex,1,1,sheet.getLastColumn()); const targetSheet = ss.getSheetByName('Another Sheet'); const targetRange = targetSheet.getRange(targetSheet.getLastRow()+1,1,1); for(let i=0; i < array.length; i++) { if(array[i] == searchID) { if(statusCell.getValue() === 'Payed' || statusCell.getValue() === 'Reinvest') { sourceRange.copyTo(targetRange); } }else{ SpreadsheetApp.getActiveSpreadsheet().toast('Something went wrong') } } }

ingrese la descripción de la imagen aquí La siguiente imagen muestra, por ejemplo: según el ID A277, se deben copiar todas las filas en otra hoja que depende del índice de la fila. Espero haber explicado bien mi situación.

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

0

Creo que su objetivo es el siguiente.

  • Cuando las columnas "B" y "L" son "A277" y "Pagado" o "Reinvertir", desea copiar las filas de la hoja de origen a la hoja de destino mediante Google Apps Script.

Puntos de modificación:

  • En su secuencia de comandos, no se declaran sheet , searchID y statusCell .
  • Desafortunadamente, no puedo entender rangeID . Entonces no pude entender array .
    • De su secuencia de comandos, pensé que la array podría ser los valores de la hoja de origen.

Cuando estos puntos se reflejan en un guión, se convierte en lo siguiente.

Guión modificado:

 const copyToAnotherSheet = () => { const searchID = "A277"; // Please set the search text. const srcSheetName = "Sheet1"; // Please set the source sheet name. const dstSheetName = "Sheet2"; // Please set the destination sheet name. const ss = SpreadsheetApp.getActiveSpreadsheet(); const [srcSheet, dstSheet] = [srcSheetName, dstSheetName].map(s => ss.getSheetByName(s)); const [,...srcValues] = srcSheet.getDataRange().getValues(); const copyValues = srcValues.filter(r => r[1] == searchID && (r[11] == 'Payed' || r[11] == 'Reinvest')); dstSheet.getRange(dstSheet.getLastRow() + 1, 1, copyValues.length, copyValues[0].length).setValues(copyValues); }

Referencia:

  • filtrar()
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