Добавить строки с одного листа на другой
В Google таблице Пример_1 есть два листа. Нужно с помощью скрипта копировать все не пустые строки с "Лист 1" (диапазон A2:C - строки могут добавляться/удаляться) на "Лист 2" (целевые столбцы располагаются в диапазоне B:D), добавляя новые строки после уже имеющихся.
После прочтения большого количества примеров с реализацией стало ещё хуже, чем на начальном этапе. Всё, что попадалось, не совсем подходило и в итоге не работало, теперь не могу понять что использовать для решения.
Ответы (1 шт):
Вероятно, вам нужно что-то вроде этого
/**
* Append values from to
*
* @param {GoogleAppsScript.Spreadsheet.Sheet} from
* @param {GoogleAppsScript.Spreadsheet.Sheet} to
* @return {number} Count of rows
*/
function appendValues_(from, to) {
const fromRange = from.getRange('A2:C');
const fromValues = fromRange
.getValues()
.filter(row => row.some(cell => cell !== ''));
if (fromValues.length)
to.getRange(
to.getLastRow() + 1,
2,
fromValues.length,
fromValues[0].length
).setValues(fromValues);
fromRange.clearContent();
return fromValues.length;
}
Необходимо взять весь массив данных без заголовка, очистить пустые строки и добавить на другой лист.
В коде так же есть очистка исходника.
Полный код в сниппетах https://github.com/contributorpw/google-apps-script-snippets/blob/master/snippets/sheets/append_values_from_sheet_to_one/index.js
