Я мог понять, как выше. Если мое понимание верно, как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.
Пример сценария:
Чтобы протестировать сценарий, используйте следующий сценарий для своей общей электронной таблицы. И запустите сценарий.
function myFunction() {
var sourceSheetName = "Sheet6";
var destinationSheetName = "Sheet6";
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName(sourceSheetName);
// Retrieve source values.
var values = sheet.getRange("A2:B3").getValues();
// Convert values.
var result = values.reduce(function(ar, [a, b]) {
var temp = b.split(",");
for (var i = 0; i < temp.length; i++) {
ar.push([a, temp[i].trim()]);
}
return ar;
}, []);
// Put values.
var dstSheet = ss.getSheetByName(destinationSheetName);
dstSheet.getRange(dstSheet.getLastRow() + 1, 1, result.length, result[0].length).setValues(result);
}
- В приведенном выше сценарии при запуске сценария извлекаются значения «A2: B3» из «Sheet6» и преобразованные значения помещаются в последняя строка «Sheet6».
- Если на исходный лист выводятся только входные значения, вы также можете использовать
var values = sheet.getRange(2, 1, sheet.getLastRow() - 1, 2).getValues();
вместо var values = sheet.getRange("A2:B3").getValues();
.
Примечание:
- Это простой пример сценария. Поэтому, пожалуйста, измените это для вашей фактической электронной таблицы.
Ссылка: