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

282
Vistas
Cómo usar el resultado de una declaración IF como una variable

Tengo un código de la siguiente manera:

 function DetailFacture2() { var ss = SpreadsheetApp.getActive(); var DetailDEVIS = SpreadsheetApp.setActiveSheet(ss.getSheetByName('DetailDEVIS')); var FACTUREDevis = SpreadsheetApp.setActiveSheet(ss.getSheetByName('FACTUREDevis')); var DetailFactureDevis = SpreadsheetApp.setActiveSheet(ss.getSheetByName('DetailFactureDevis')); var lastrowpaste = FACTUREDevis.getLastRow(); var numrow = FACTUREDevis.getRange(lastrowpaste,13).getValue() var lastrowpaste2 = DetailFactureDevis.getLastRow() - numrow +2; var data = DetailDEVIS.getDataRange().getValues(); var DetailD = FACTUREDevis.getRange(lastrowpaste,2).getValue(); for(var i = 0; i<data.length;i++){ if(data[i][1] == DetailD){ //[1] because column B var firstrowcopy = i+1; Logger.log(firstrowcopy) return (firstrowcopy) } } };

Devuelve el valor correcto, pero ¿cómo se usa "firstrowcopy" como una variable fija? Me gustaría usar de la siguiente manera:

 function DetailFacture2() { var ss = SpreadsheetApp.getActive(); var DetailDEVIS = SpreadsheetApp.setActiveSheet(ss.getSheetByName('DetailDEVIS')); var FACTUREDevis = SpreadsheetApp.setActiveSheet(ss.getSheetByName('FACTUREDevis')); var DetailFactureDevis = SpreadsheetApp.setActiveSheet(ss.getSheetByName('DetailFactureDevis')); var lastrowpaste = FACTUREDevis.getLastRow(); var numrow = FACTUREDevis.getRange(lastrowpaste,13).getValue() var lastrowpaste2 = DetailFactureDevis.getLastRow() - numrow +2; var data = DetailDEVIS.getDataRange().getValues(); var DetailD = FACTUREDevis.getRange(lastrowpaste,2).getValue(); for(var i = 0; i<data.length;i++){ if(data[i][1] == DetailD){ //[1] because column B var firstrowcopy = i+1; var source = DetailDEVIS.getRange(firstrowcopy,1,numrow-1); var destination = DetailFactureDevis.getRange(lastrowpaste2,3); source.copyTo(destination); } } };

Pero, como era de esperar, no puede funcionar mientras se repite...

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

0

No estoy seguro si entiendo tu pregunta también. El código no se ve bien. Aquí es sólo mi conjetura. Intenta cambiar las últimas líneas de esta manera:

 // ... var firstrowcopy = 0; for (var i = 0; i < data.length; i++){ if(data[i][1] == DetailD){ //[1] because column B firstrowcopy = i+1; break; } } var source = DetailDEVIS.getRange(firstrowcopy,1,numrow-1); var destination = DetailFactureDevis.getRange(lastrowpaste2,3); source.copyTo(destination); }
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