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

134
Vistas
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 Respuestas
Responde la pregunta

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 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