Google Sheets. getSelection () для столбца с включенным фильтром и сортировкой - PullRequest
0 голосов
/ 07 февраля 2020

У меня есть таблица с некоторыми данными. Первый столбец содержит идентификаторы, непрерывный ряд чисел в порядке возрастания (ID: 1, 2, 3, 4, 5), второй столбец содержит несортированные имена (NAME: C, B, A, D, E). Пока я не применяю какие-либо фильтры, функция .getSelection().getCurrentCell().getValues() или .getDisplayValues() возвращает мне правильное содержимое нужных ячеек.

Затем я применяю фильтр к обоим столбцам и сортирую второй столбец по алфавиту. Первый столбец становится таким: ID: 3, 2, 1, 4, 5. Я выбираю, например, элементы из первой строки (3A), но скрипт возвращает мне значения, которые были в этих ячейках до применения фильтра (1 C).

Поэтому мне нужно получить выбранные значения, которые появляются после применения фильтра.

1 Ответ

0 голосов
/ 07 февраля 2020

Фильтры используются, чтобы скрыть данные от просмотра. Получить эти данные невозможно ни одним из .get*() методов. Однако все методы range.copy*() будут копировать отфильтрованные значения в нужный диапазон. Если ваш вариант использования копирует, используйте

Если вам нужен прямой доступ к значениям для манипулирования сценарием, вы можете:

  • getValues() и программно отфильтровать его в JavaScript или

  • , использовать Sheets api для получения данных или

  • Копировать отфильтрованные значения в другой диапазон, используя range.copy*() и getValues() из нового диапазона или

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...