Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

163
Visualizações
¿Cómo puedo iterar sobre un rango no organizado y extraer datos hasta que ya no se cumplan los criterios usando Apps Script?

He estado tratando de recorrer un rango de datos y llevar los datos a otra hoja hasta que el ciclo llega a una de las siguientes palabras (Herramientas, Pintura) y se detiene allí.

Estaba buscando un bucle for + while, pero no estoy seguro de que esta sea la mejor manera de hacerlo.

Aquí está el borrador del código en el que estoy trabajando:

 function importPipeworkData() { const ss = SpreadsheetApp.getActiveSpreadsheet(); const input4File = ss.getSheetByName('Input Files Mapping').getRange('B4').getValue() const pipeworkSheet = SpreadsheetApp.openByUrl(input4File).getSheetByName('Sheet1'); const inputPipeworkRng = pipeworkSheet.getRange(2, 1, pipeworkSheet.getLastRow(), 4); const inputPipeworkData = inputPipeworkRng.getValues(); const boqPipeworkSheet = ss.getSheetByName('BOQ Pipework'); const boqPipeworkRng = boqPipeworkSheet.getRange(4, 1, boqPipeworkSheet.getLastRow(), 4); //boqPipeworkRng.clear(); //Clears the sheet to receive updated data; const pipeworkData = []; for (let a = 0; a < inputPipeworkData.length; a++) { while (inputPipeworkData[a][0] != 'Valves') //This is one of the unclear parts Logger.log(inputPipeworkData[a][1]) } }

Este es un ejemplo del conjunto de datos: https://docs.google.com/spreadsheets/d/1W9zPt1nYKv59j9kjgFqy5Z4KPgvXZUoCusTk06kRQUk/edit?usp=sharing

Agradecería si se pudiera brindar alguna ayuda aquí.

Saludos, antonio

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

En su situación, debe usar solo un bucle

De este modo,

  • en el caso de un bucle for , es necesaria una instrucción if adicional.
  • en caso de un ciclo while , debe asegurarse de incrementar su variable de contador.

Ejemplo con bucle for :

 const keyWords = ["Tools", "Painting"]; for (let a = 0; a < inputPipeworkData.length; a++) { if (keyWords.indexOf(inputPipeworkData[a][0]) > - 1){ break; } Logger.log(inputPipeworkData[a][1]); pipeworkData.push(inputPipeworkData[a]); } }

Ejemplo con ciclo while :

 const keyWords = ["Tools", "Painting"]; var a = 0; while (keyWords.indexOf(inputPipeworkData[a][0]) == - 1){ Logger.log(inputPipeworkData[a][1]); pipeworkData.push(inputPipeworkData[a]); a++ } }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda