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

131
Visualizações
filtre la hoja de Google según el valor de la celda usando una expresión regular que coincida con cualquier valor numérico y una cadena específica

A continuación se muestra un código que filtra la hoja de cálculo en función de valores de columna específicos y copia las coincidencias en una nueva hoja de cálculo

 function filterkhaled(){ var sheet = SpreadsheetApp.getActiveSheet(); var newSheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet(); var reg = /^\d+$/; var data = sheet.getDataRange().getDisplayValues(); var newData = data.filter(row => ["yes"].includes(row[12]) | row.match(reg)); newSheet.getRange(1,1,newData.length,newData[0].length).setValues(newData); }

Básicamente, quiero que el filtro coincida con la cadena "sí" o cualquier valor numérico, y luego copie las coincidencias correspondientes en una nueva hoja de cálculo. El código aquí row.match(reg) muestra el siguiente error TypeError: row.match no es una función. ¿Hay alguna manera de hacer que funcione el filtro regex?

Así es como se ve la tabla de inicio hoja de origen, donde las filas marcadas en verde se copiarán en una nueva hoja de cálculo según el valor de la columna M

La salida contendrá todas las filas verdes.

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

0

Puntos de modificación:

  • Pensé que el motivo de su error de TypeError: row.match is not a function se debe a que esa row es una matriz.
  • ["yes"].includes(row[12]) es lo mismo que row[12] == "yes" .
  • En este caso, utilice || en lugar de | .

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

Guión modificado:

 function filterkhaled() { var sheet = SpreadsheetApp.getActiveSheet(); var newSheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet(); var reg = /^\d+$/; var data = sheet.getDataRange().getDisplayValues(); var newData = data.filter(row => row[12] == "yes" || row[12].match(reg)); if (newData.length == 0) return; newSheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData); }
  • Cuando se ejecuta este script, las filas en las que el valor de la columna "M" es yes o el número se colocan en la hoja nueva.

Referencias:

  • juego()
  • O lógico (||)
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