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

181
Vistas
La función de búsqueda de Google Apps Script necesita comparar cadenas que contengan números y letras

Así que estoy construyendo una base de datos increíblemente simple (realmente solo un MVC menor en la hoja) para estandarizar las prácticas de almacenamiento de datos para automatizar algunas cosas. Estoy tratando de crear una función de búsqueda para que las entradas de datos se puedan editar, pero tengo problemas para comparar mis parámetros de búsqueda, ya que vienen en un formato "ABC 1234". Tengo la sensación de que todavía no conozco el idioma lo suficientemente bien, pero aquí está mi función de búsqueda;

 function search() { const searchValue = searchCell.getValue() const data = dataWS.getRange("A2:I").getValues() data.filter(r => r[8] == searchValue) const recordsFound = data.filter(r => r[8] == searchValue) if(recordsFound.length == 0) return fieldRange.forEach((f,i) => formWS.getRange(f).setValue(recordsFound[0][i+1])) }

Las ubicaciones de las celdas y las ubicaciones de las hojas y todo se establece globalmente, así que si falta algo aquí que necesite, con gusto se lo proporcionaré.

Tanto == como === no funcionaron y me imagino que simplemente me falta algo de conocimiento o experiencia aquí, pero también tengo problemas para encontrar lo que me falta. Duro cuando no sabes lo que no sabes. Recibo el error "Error de tipo: no se puede leer la propiedad '1' de undefined" y apunta a la línea de comparación if.

about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

Encontrar valor de búsqueda

 function search() { const ss = SpreadsheetApp.getActive(); const sh = ss.getSheetByName("SheetName"); const searchValue = sh.getRange("?").getValue(); const dataWS= ss.getSheetByName("?") const data = dataWS.getRange("A2:I" + dataWS.getLastRow()).getValues().filter(r => r[8] == searchValue);//r[8] is column 9 //I don't know where you're going from here so I'll just logger.log the data Logger.log(JSON.stringify(data)); }

Usar textfinder también es bastante fácil

Usando el buscador de texto

 function search() { const ss = SpreadsheetApp.getActive(); const sh = ss.getSheetByName("SheetName"); const searchValue = sh.getRange("?").getValue(); const dataWS= ss.getSheetByName("?") const data = dataWS.getRange("A2:I" + dataWS.getLastRow()).createTextFinder(searchValue).findAll().map(r => dataWS.getRange(r.getRow(),1,1,dataWS.getLastColumn()).getValues()[0]); Logger.log(JSON.stringify(data)); }
about 4 years ago · Santiago Gelvez 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