Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

227
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!