Estoy tratando de lograr el siguiente resultado:
Entonces, si la columna A tiene valores duplicados, quiero mostrar estos valores duplicados en la columna B. Esto es lo que he intentado hasta ahora. Pero el código solo hace que Apple muestre dos veces en una columna B. ¿Cómo tendría que modificar mi código para que funcione como quiero?
function findDuplicates() { var ss = SpreadsheetApp.getActiveSpreadsheet() var sheet = ss.getActiveSheet() var lastRow = sheet.getLastRow() var data = sheet.getRange(1,1,lastRow).getValues() var dataUnique = data.reduce(function (out, item) { return out.concat(out.filter(function (comp) { return item.toString() != comp.toString(); }).length ? [] : [item]) }, []); var newValues = sheet.getRange(1,2,dataUnique.length).setValues(dataUnique) }Este es el resultado cuando ejecuto el código:
Esta es una hoja de cálculo creada específicamente para abordar esta pregunta. Contiene el siguiente código que tomará valores de A y generará el resultado en la columna B:
function myFunction() { var sheet = SpreadsheetApp.getActiveSheet(); var input = sheet.getRange('A1:A').getValues().filter(e=>e[0]).map(e=>e[0]); var inputLower = input.map(e=>e.toLowerCase()); var output = new Array(); input.forEach(function (e,i,arr){if(inputLower.indexOf(e.toLowerCase())!=i && output.indexOf(e)==-1){output.push(e)}}); sheet.getRange(1,2,output.length,1).setValues(output.map(e=>[e])); }