Заранее спасибо за помощь. Я новичок в скрипте приложений.
У меня есть таблица с 98 столбцами и 25000 строк. Все, что я хочу сделать, это скопировать 24 из 98 столбцов на новый лист.
В настоящее время я использую фильтр и карту, и это работает:
var data = sourceSheet.getDataRange (). GetValues ();// читать все столбцы и строки в массив
var filterData = data.filter (function (e, j) {return j> 0 && e}). map (function (e) {return [e [88]], е [14], е [13], е [4], е [17], е [87], е [91], е [48], е [57], е [31], е [89], е [82], е [70], е [97], е [47], е [30], е [72], е [71], е [67], е [34], е [33], е [00], е [38], е [39]]});// извлекаем только нужные столбцы в новый массив
, но для выполнения этой 2-й строки требуется почти час! Я предполагаю, что он обрабатывает каждый элемент 1 к 1, хотя он просто возвращает каждый из них.
Я не пробовал столбцы getValue'ing и setValue'ing по одному, потому что все, что ячитай говорит ограничивай внешние звонки и делай все в памяти. И я не могу представить, что нажатие элементов 1 на 1 будет быстрее, чем фильтрация.
Предложения по более быстрому выполнению?