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

213
Visualizações
¿Cómo puedo separar una columna en su propia hoja usando mapas?

Estoy tratando de usar este mapa proporcionado por una pregunta anterior que tenía.

En este caso, toma el nombre del representante de ventas, crea una hoja con su nombre y luego mueve todos los pedidos que le pertenecen a su hoja. Así es como se ve el código.

 function sortByRep(sheet){ var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheetByName("All Orders"); var range = sheet.getRange("A2:H" + sheet.getLastRow()); var values = range.getValues(); var sheets = [...new Set(values.map(r => r[6]))].reduce((o, e) => (o[e] = ss.getSheetByName(e) || ss.insertSheet(e), o), {}); [...values.reduce((m, r) => m.set(r[6], m.has(r[6]) ? [m.get(r[6]), r] : r), new Map())] .forEach(([k, v]) => { var s = sheets[k]; if (s) s.getRange(s.getLastRow() + 1, 1, v.length, v[0].length).setValues(v); });

Pero me sale este error:

Excepción: los parámetros (number,number,number,null) no coinciden con la firma del método para SpreadsheetApp.Sheet.getRange.

Creo que tiene que ser porque hay espacios en los nombres. Pero no estoy seguro. ingrese la descripción de la imagen aquí

He añadido esta imagen como ejemplo. Quiero que mi secuencia de comandos cree una nueva hoja con el nombre del representante de ventas y mueva todos sus pedidos a esa hoja.

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

En su guión, ¿qué tal la siguiente modificación?

Desde:

 [...values.reduce((m, r) => m.set(r[6], m.has(r[6]) ? [m.get(r[6]), r] : r), new Map())] .forEach(([k, v]) => { var s = sheets[k]; if (s) s.getRange(s.getLastRow() + 1, 1, v.length, v[0].length).setValues(v); });

Para:

 [...values.reduce((m, r) => m.set(r[6], m.has(r[6]) ? [...m.get(r[6]), r] : [r]), new Map())] .forEach(([k, v]) => { var s = sheets[k]; if (s) s.getRange(s.getLastRow() + 1, 1, v.length, v[0].length).setValues(v); });
  • En esta modificación, se pueden usar tanto una fila como varias filas.
over 4 years ago · Santiago Trujillo 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