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

562
Vistas
¿Cómo sacar los elementos únicos de una lista en Google Apps Script?

Tengo este fragmento de código:

 function getTimeFrames(){ var ss = SpreadsheetApp.getActive(); var cell = ss.getRange("C1").getValue(); Logger.log(cell); var s = ss.getSheetByName(cell).getRange("M2:M"); var unique = new Set(s.getValues()); unique.forEach(x => Logger.log(x)) }

Este código se llamaría desde una hoja de cálculo de Hojas de cálculo de Google que sirve como interfaz de usuario, donde la celda C1 sería el nombre de una hoja utilizada para almacenar datos. En esa hoja, tengo una columna (M) de la que necesito obtener los valores únicos para almacenarlos en un menú desplegable en la hoja de la interfaz de usuario.

El problema que tengo es que no puedo hacer funcionar la parte de valores únicos. A lo largo de mi experimentación, obtendría una lista de todos los valores de la columna M o ningún resultado de registro.

¡Cualquier ayuda es muy apreciada!

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Probar

 function getTimeFrames(){ var ss = SpreadsheetApp.getActive(); var cell = ss.getRange("C1").getValue(); Logger.log(cell); var unique = ss.getSheetByName(cell).getRange("M2:M").getValues().flat().filter(onlyUnique) console.log(unique) } function onlyUnique(value, index, self) { return self.indexOf(value) === index; }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Esto era realmente un trabajo duro antes de ES6 . Pero ahora, con una combinación de filter() e indexOf() , puede lograrlo fácilmente.

Por ejemplo:

 var List = ['One','Two','Two','One','One','Two','One','Three'] const uniqueList = (value,index,self) => {return self.indexOf(value) ===index;} var finalUniqueList =List.filter(unique);
about 4 years ago · Juan Pablo Isaza Denunciar

0

Intente distribuir los valores únicos en una matriz:

 function getTimeFrames() { const sheet = SpreadsheetApp.getActive() const cell = sheet.getRange(`C1`).getValue() const values = sheet.getSheetByName(cell) .getRange(`M2:M`) .getValues() .filter(String) .flat() const unique = [...new Set(values)] Logger.log(unique) }
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