Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

223
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda