Справочная информация. Пользователи заполняют форму Google и разделяют свои ответы запятыми.Я хотел бы написать скрипт, который может разделять ячейки на строки для каждой используемой запятой;однако мне нужно сделать это для нескольких столбцов.
Например, вот скриншоты концепции, которую я хотел бы:
Как это начинается
Конеццель
А вот мой фактический набор данных: Мой лист
У меня есть столбцы от A до S. Я толькохочу посмотреть на столбцы с D по L и проверить, есть ли у них запятые.На рисунке вы можете видеть, что первые три строки информации не содержат запятых.Я просто хотел бы, чтобы код возвращал эти значения такими, какие они есть.В строке 5 столбцы с D по L содержат запятые, которые представляют отдельные ответы, и поэтому я хотел бы, чтобы эти значения были разбиты на отдельные строки в выводе.
Это то, что я до сих пор,что я нашел большую часть от кого-то еще на Stackoverflow.Этот код работает, но , только если вы указываете один столбец .
Например, на пустом листе Google я пишу =split_rows(Sheet1!A:S,3)
, который проверяет только запятую в столбце 3 моего другого листа.Мне нужен код, который будет делать то же самое, но для нескольких столбцов и разделить значения.
function split_rows(anArray, splitColumnIndex) {
var output = [];
for (i in anArray){ // for each row
var current_cell = anArray[i][splitColumnIndex]; // current cell in loop
if (current_cell.toString().indexOf(",")>-1) { // if the cell in the designated column contains a comma,
var splitArray = current_cell.split(","); // split values in specified column
for (j in splitArray){ // for each split cell value
var row = anArray[i].slice(0); // take a copy of source row
row[splitColumnIndex] = alltrim(splitArray[j]); // replace comma separated value with current split value
output.push(row); // push new row to output
}
}
else {
var row = anArray[i].slice(0);
output.push(row);
}
}
return output;
}
function alltrim(str) {
return str.replace(/^\s+|\s+$/g, '');
}
Вот пример моего листа;https://docs.google.com/spreadsheets/d/1mgqKriAxf6-hAPNJ9Um8i9SD22TxDXVKM8llRn0sCS4/edit#gid=0