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.
Si lo uso de nuevo para formatear, da esto:
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.
Si entendí bien, tienes algo como esto:
Y te gustaría terminar con algo como esto:
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); }