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

222
Vistas
¿Por qué no elimina los duplicados de una columna de Hojas?

Estoy recuperando los valores de una columna, donde tenemos muchos duplicados. El objetivo es mantener solo los valores únicos, pero ninguno de los métodos que probé funcionó.

Esto es lo que he intentado:

 function listaProdutos() { const ssBDCadProd = SpreadsheetApp.openById(CAD_PRODUTO); const sheetBDCadProd = ssBDCadProd.getSheetByName('CadProduto'); let listaProd = sheetBDCadProd.getRange(2, 6, sheetBDCadProd.getLastRow(), 1).getValues(); let uniques = [...new Set(listaProd)]; Logger.log('Únicos: ' + uniques); }

Aquí hay otro intento:

 function listaProdutos() { const ssBDCadProd = SpreadsheetApp.openById(CAD_PRODUTO); const sheetBDCadProd = ssBDCadProd.getSheetByName('CadProduto'); let listaProd = sheetBDCadProd.getRange(2, 6, sheetBDCadProd.getLastRow(), 1).getValues(); let uniques = removeDups(listaProd); Logger.log('Únicos: ' + uniques); } function removeDups(array) { var outArray = []; array.sort(); outArray.push(array[0]); for (var n in array) { Logger.log(outArray[outArray.length - 1] + ' = ' + array[n] + ' ?'); if (outArray[outArray.length - 1] != array[n]) { outArray.push(array[n]); } } return outArray; }

Todos ellos registran los valores repetidamente y no estoy seguro si me estoy perdiendo alguna característica implícita de cómo entran los datos con getValues()

¡Gracias!

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

0

En su script, let listaProd = sheetBDCadProd.getRange(2, 6, sheetBDCadProd.getLastRow(), 1).getValues(); es la matriz bidimensional como [["f2"],["f3"],,,] . En este caso, [...new Set(listaProd)] no puede eliminar las filas duplicadas. Cuando desee eliminar las filas duplicadas, ¿qué tal la siguiente modificación?

Guión modificado:

De:

 let uniques = [...new Set(listaProd)];

A:

 let uniques = [...new Set(listaProd.map(([f]) => f))];

Esto devuelve una matriz unidimensional. Cuando desee devolver la matriz bidimensional, utilice la siguiente modificación.

 let uniques = [...new Set(listaProd.map(([f]) => f))].map(f => [f]);

Nota:

  • En el caso de Logger.log('Únicos: ' + uniques); , incluso cuando los uniques son una matriz bidimensional, se muestra el valor del valor separado por comas como f2,f3,,,, . Tenga cuidado con esto.
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