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

290
Vistas
Dividir el texto de la hoja usando una matriz para mantener una identificación única

Estoy usando esto: ¿Cómo transponer y dividir en Google Apps Script?

Lo cual funciona muy bien en la primera parte (lo uso para copiar datos y dividirlos), pero luego tendría que rehacerlo ya que tengo 2 separadores diferentes, la primera vez ";" segunda vez ",".

El problema, y supongo que está más relacionado con JS que cualquier otra cosa, es que si uso lo mismo, divide la segunda columna verticalmente. Publicaré ejemplos.

La columna A tiene el ID, la columna B tiene el texto separado por comas

Si lo uso de nuevo para formatear, da esto:

ingrese la descripción de la imagen aquí

Me gustaría que se dividiera en Columna B y C.

Supuse que era porque el ciclo for solo empuja 2 filas, pero no puedo resolver agregar una tercera.

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

0

Tema:

Si entendí bien, tienes algo como esto:

ingrese la descripción de la imagen aquí

Y te gustaría terminar con algo como esto:

ingrese la descripción de la imagen aquí


Solución:

El siguiente código hará precisamente eso, dividiendo (y poniendo en varias líneas) los valores en la primera imagen por ; , y luego separando la cantidad del nombre del producto (se logra dividiendo el , ).

 function myFunction() { var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var sheet = spreadsheet.getSheetByName("Sheet1"); var range = sheet.getRange(2,1,sheet.getLastRow()-1,2); var values = range.getValues(); var valuesToInput = []; for(var i = 0; i<values.length; i++){ var productList = values[i][1].split(";"); for(var j = 0; j < productList.length; j++){ var productVariables = productList[j].split(","); var productQuantity = productVariables[0]; var productName = productVariables[1]; valuesToInput.push([values[i][0], productQuantity, productName]); } } var rangeToInput = sheet.getRange(2,1,valuesToInput.length, 3); rangeToInput.setValues(valuesToInput); }
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