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

382
Visualizações
¿Cómo iterar sobre un rango, obtener una palabra específica y pegarla en una columna adyacente hasta que se encuentre la siguiente palabra clave en Google Sheets usando scripts?

Impresionado con lo poco que sé, después de horas tratando de averiguarlo, tengo que recurrir a ti.

Estoy pensando que el proceso debería ser el siguiente: definir palabras clave en una matriz; Iterar sobre el rango; A medida que se encuentra la palabra clave, comienza a contar hasta que se encuentra la siguiente palabra clave; Contador se convierte en el número de filas para esa categoría; Comienza de nuevo con la siguiente palabra clave encontrada.

Empecé a escribirlo, pero no puedo ver múltiples bucles for aquí y me pregunto de qué otra forma sería:

 function formatCells() { //Utilities.sleep(3000); //Formats Categories and cell colors const ss = SpreadsheetApp.getActiveSpreadsheet(); const boqPipeworkSheet = ss.getSheetByName('BOQ Pipework'); const boqPipeworkRng = boqPipeworkSheet.getRange(5, 1, boqPipeworkSheet.getLastRow(), 14); const boqPipeworkValues = boqPipeworkRng.getValues(); let categoryToPaste = []; let categories = ['Copper pipework']; let counter = 0; for (let r = 0; r < boqPipeworkRng.length; r++) { let category = boqPipeworkRng[r][0]; if (categories.indexOf(category) > -1) { categoryToPaste.push(category); counter++ } } }

Así es como están los datos: ingrese la descripción de la imagen aquí

Aquí hay un enlace a un archivo que contiene un ejemplo: https://docs.google.com/spreadsheets/d/138TD3eJU6GQtRj3uxXBJicn7pZyeXvAqU8lNcU01BDw/edit?usp=sharing

¡Gracias!

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

0

Una solución es usar fórmula.

Para Categorías, en F3

 ={"Category";ArrayFormula(lookup(row(A4:A),row(A4:A)/--REGEXMATCH(B4:B,"^[ ]{2}[AZ].*"),B4:B))}

Para Subcategorías, en G3

 ={"Subcategory";ArrayFormula(if(REGEXMATCH(B4:B,"^[ ]{2}[AZ].*"),"",lookup(row(A4:A),row(A4:A)/--REGEXMATCH(B4:B,"^[ ]{4}[AZ].*"),B4:B)))}

ingrese la descripción de la imagen aquí

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