Ну, я думаю, что это то, чего вы пытаетесь достичь, так что, возможно, этот простой пример поможет. Функция просматривает столбец 4 и разбивает значения, разделенные запятыми, на массив tA, а затем создает отдельную строку для каждого значения с такими же значениями в других столбцах.
Вот мои данные перед запуском:
Вот мои данные после запуска:
и вот мой код:
function splitDataIntoSeparateRows() {
var ss=SpreadsheetApp.getActive();
var sh=ss.getSheetByName('Sheet1');
var rg=sh.getDataRange();
var vA=rg.getValues();
for(var i=0;i<vA.length;i++){
var tA=vA[i][3].split(',');
if(tA.length>1){
for(var j=0;j<tA.length;j++){
var vB=[vA[i][0],vA[i][1],vA[i][2],tA[j]];
if(j==0){
vA.splice(i + j,1,vB);
}else{
vA.splice(i + j,0,vB);
}
}
}
}
sh.clearContents();
sh.getRange(1,1,vA.length,vA[0].length).setValues(vA);
}
Возможно, вам придется взглянуть на документацию, чтобы увидеть, как эта функция работает для вас.