выпадающие списки через DataValidationBuilder с диапазоном-данных в относительных ссылках
На листе создаю выпадающие списки скриптом через DataValidationBuilder вот по такому шаблону:
// Устанавливает выпадающий список в ячейку A1 и требует совпадения значения с
// диапазоном B1:B10, дополняя поле выпадающим списком.
var cell = SpreadsheetApp.getActive().getRange('A1');
var range = SpreadsheetApp.getActive().getRange('B1:B10');
var rule = SpreadsheetApp.newDataValidation().requireValueInRange(range).build();
cell.setDataValidation(rule);
естественно, подставляя свои данные. При этом в получившемся на листе списке,ссылка на диапазон - источник получается в абсолютном виде, см. рисунок
Вопрос: есть ли возможность создавать выпадающие списки через DataValidationBuilder с диапазоном в относительных ссылках?
Ответы (4 шт):
Нет, нельзя. Так как в этом нет никакого смысла и логики, и, как по мне, нет практического применения.
Единственное для чего это может пригодиться, это копирование ячеек с настроенной Проверкой данных, чтобы при копировании ссылка на диапазон автоматически переносилась относительно... Но это очень редкое и довольно сложно-скользкое применение, которое в конечном итоге, можно решить с помощью скриптов для каждого конкретного случая.
Сам внутренний функционал системы "Проверки данных" автоматически переводит ссылки в абсолютные.
Если я правильно понял задачу вам нужно расширять диапазон данных, который храниться в списке. Мне помог такой способ: я вручную добавлял ячейку перед последним элементом списка и туда прописывал значение и таблица сама растягивала диапазон данных в списках.
С радостью хочу сообщить, что появилось решение вашего вопроса. Один парень проделал очень интересный эсперимент и у него получилось обмануть систему "Проверка данных" (по другому и никак не могу это охарактеризовать) и настроить их в относительных ссылках. Единственное, что сделал он это не через скрипт, а прямо в таблице. Но его решение уникально для многих задач при работе с таблицами.
Фишка заключается вот в чем: 1.Надо настроить одну ячейку на "Проверку данных". Это можно сделать через
Затем выбрать перенастройку ячейки через "ручку" выпадающего списка
И уже в этом режиме настроить диапазон в относительных ссылках. При этом желательно даже не нажимать кнопку "Готово", а просто выбрать другую ячейку в таблице. В этом случае система "Проверки данных" не переделает ссылку на абсолютную.
Теперь эту ячейку можно копировать в любое другое место и настройка "Проверки данных" будет меняться относительно новых позиций... Шикарный вариант... Буду его использовать во многих задачах...
Кроме того ссылку можно набирать в разных вариантах: H9:H14, или $H9:$H14, или H$9:H$14 и другие вариации.
Думаю, что эта информация должна точно помочь в ваших задачах
Но на текущий момент "найденный вариант обхода" исправления, для себя, считаю уникальным и уже внедряю в некоторые проекты. Даже можно реализовать сложнейшие структуры выпадающих списков с 3-4-5 мерными вложениями. Быстро, круто, полезно и эффектно. ?