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

150
Vistas
¿Cómo pegar una matriz 2D (con encabezados) en otra hoja con encabezados de columna establecidos aleatoriamente usando GAS?

Los datos:

 [ ["ID","Variação","Nome Site","Obs"],//Headers [11602,185,"Camisa Teste","Teste da Observação"] //To be pasted ]

Así es el destino:

Obs. Nombre del sitio Variación IDENTIFICACIÓN

Entiendo que podría adoptar el enfoque a continuación, pero teniendo en cuenta que el conjunto de datos tiene más de 40 columnas, esto no es tan factible:

 var data = sheet.getRange(1,1,2,4).getValues(); var obs = data.map(function(e){return e[0];}); var NomeSite = data.map(function(e){return e[1];}); ...

¿Cómo haría para encontrar el encabezado y "pegar" los datos en ese caso?

¡Gracias!

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

0

Creo que su objetivo es el siguiente.

  • Desea reorganizar los valores por su encabezado esperado.

En este caso, ¿qué tal la siguiente modificación?

Guión modificado:

 var expectedHeader = ["Obs", "Nome Site", "Variação", "ID"]; // Please set your expected header. // This sample value is from your question. var data = [ ["ID", "Variação", "Nome Site", "Obs"], [11602, 185, "Camisa Teste", "Teste da Observação"] ]; var [headers, ...rows] = data; const obj = rows.map(r => headers.reduce((o, h, j) => (o[h] = r[j], o), {})); var res = obj.map(o => expectedHeader.map(h => o[h] || "")); console.log(res) // [["Teste da Observação","Camisa Teste",185,11602]]

  • Cuando se usa este script, [11602, 185, "Camisa Teste", "Teste da Observação"] se reorganiza a ["Teste da Observação","Camisa Teste",185,11602] .

Referencias:

  • mapa()
  • reducir()
about 4 years ago · Juan Pablo Isaza Denunciar

0

Me gusta Tanaike, pero me da un poco de miedo la función reduce() . Así que aquí está mi variante sin reduce() :

 function myFunction() { var sheet = SpreadsheetApp.getActiveSheet(); var header = sheet.getDataRange().getValues()[0]; var data = [ ["ID","Variação","Nome Site","Obs"], [11602,185,"Camisa Teste","Teste da Observação"] ] var indexes = header.map(x => data[0].indexOf(x)); data = data.map(x => indexes.map(i => x.slice()[0] = x[i])); sheet.getRange(1, 1, data.length, data[0].length).setValues(data); }

Producción: ingrese la descripción de la imagen aquí

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