Образец таблицы Google
У меня есть некоторые данные, которые хранятся в таблице Google и связаны с Google Data Studio. Некоторые из этих данных разделены запятыми внутри строки. Выше приведена ссылка на образец некоторых из этих данных.
Я постараюсь объяснить как можно лучше, но это видео о том, как это решается с помощью Power Query в Excel, - ИМЕННО то, что я пытаюсь сделать, только в Google Таблицах. Обучающее видео на YouTube
В приведенном выше образце у меня есть идентификатор респондента в столбце A на вкладке «Данные», а в столбце B «Данные» есть строка, разделенная запятыми. вкладка.
На вкладке «Решение» в столбце B вы увидите, что я использовал следующий код для разделения и транспонирования содержимого столбца B из вкладки «Данные» на вкладку «Решение». =transpose(split(join(" ",arrayformula(Data!B2:B&",")),","))
, который хорошо работал для разделения значений на их собственные строки в этом столбце
Но мне нужно, чтобы идентификатор был сопоставлен с соответствующими значениями в столбце A на вкладке «Решение». Да хоть убей, я не могу этого понять.
Любая помощь будет принята с благодарностью. Спасибо!
Обновление:
Я также нашел этот сценарий для настраиваемой функции, которая, я думаю, будет работать, но я не уверен, как заставить ее работать. Я получаю сообщение об ошибке «TypeError: не удается прочитать длину свойства ...»
function myFunction(range) {
delimiter = ", ";
targetColumn = 1;
targetColumn2 = 2;
var output2 = [];
for(var i=0, iLen=range.length; i<iLen; i++) {
var s = range[i][targetColumn].split(delimiter);
var s2 = range[i][targetColumn2].split(delimiter);
for(var j=0, jLen=s.length; j<jLen; j++) {
var output1 = [];
for(var k=0, kLen=range[0].length; k<kLen; k++) {
if(k == targetColumn) {
output1.push(s[j]);
}
else if (k == targetColumn2) {
output1.push(s2[j]);
} else {
output1.push(range[i][k]);
}
}
output2.push(output1);
}
}
return output2;
}