2016-08-12 2 views
0

У меня есть два именованных диапазона внутри листа, которые я хотел бы извлечь только данные из ячеек, содержащих данные. Теперь он будет вытаскивать в массив даже пустые ячейки. Есть ли способ сделать это с помощью чего-то вроде getActiveRange, используя именованные диапазоны в листе?Массив сценария приложения из именных диапазонов

Не уверен, что еще попробовать в этом пункте.

+0

Вы можете использовать getRange (....). GetValues ​​() и затем фильтровать массив для удаления пустых полей. –

ответ

0

Существует, по существу, 2 основных способа сделать это.

1) Используйте .getValues(), чтобы вытащить 2D-массив значений. Затем выполните итерацию с использованием цикла for(), объединенного с оператором if(){}else{}, для проверки пустых значений. Если значение не пусто, .push() в новый массив.

2) Используйте .getValues(), чтобы вытащить 2D-массив значений. Используйте .filter() для очистки массива. .filter() возвращает новый массив, поэтому вы хотите установить его как var. Затем вы можете использовать этот var, как и любой другой массив. Вы можете использовать .filter(), используя условие в () или установить функцию, которая выполняет операцию, а затем передать эту функцию на .filter(), т.е. .filter(myFunction).

Руководство включены здесь вариант 2: http://www.w3schools.com/jsref/jsref_filter.asp

Вы можете искать дополнительные рекомендации по правильной итерации с использованием for() { петель через тот же взгляд, или здесь, на StackOverflow.

+0

Спасибо! Если длина данных в столбцах, возможно, будет отличаться от столбца к столбцу, было бы лучше создать массив для каждого столбца с данными и выполнить итерацию по столбцу, а затем перейти к ncolumns, у всех было такое же количество строк. было бы легче, но я пытаюсь усложнить это, очевидно. – Rockn

+0

Как ваши данные собираются? Являются ли ваши данные сгруппированы по строке или по столбцу? Самый простой способ обработки данных состоит в том, чтобы каждая точка данных для одного и того же объекта была столбцом, а каждый субъект имел данные, являющиеся новой строкой. – MasterCrander

+0

Скажем, например, что вы принимаете заявки на форму, каждое новое представление будет новой строкой с их ответами, соответствующими каждому столбцу. Кроме того, будет существовать колонна с наибольшим заполнением в силу существующего представления, чтобы вы могли выполнять итерацию через этот наиболее заполненный столбец и ссылаться на другие ячейки в этой строке, вызывая столбец 'n' в строке' i'. – MasterCrander

Смежные вопросы