выпадающие списки через 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);

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

Рисунок №1

Вопрос: есть ли возможность создавать выпадающие списки через DataValidationBuilder с диапазоном в относительных ссылках?


Ответы (4 шт):

Автор решения: BotYourBiz

Нет, нельзя. Так как в этом нет никакого смысла и логики, и, как по мне, нет практического применения.

Единственное для чего это может пригодиться, это копирование ячеек с настроенной Проверкой данных, чтобы при копировании ссылка на диапазон автоматически переносилась относительно... Но это очень редкое и довольно сложно-скользкое применение, которое в конечном итоге, можно решить с помощью скриптов для каждого конкретного случая.

Сам внутренний функционал системы "Проверки данных" автоматически переводит ссылки в абсолютные.

→ Ссылка
Автор решения: TheIrishMan

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

→ Ссылка
Автор решения: BotYourBiz

С радостью хочу сообщить, что появилось решение вашего вопроса. Один парень проделал очень интересный эсперимент и у него получилось обмануть систему "Проверка данных" (по другому и никак не могу это охарактеризовать) и настроить их в относительных ссылках. Единственное, что сделал он это не через скрипт, а прямо в таблице. Но его решение уникально для многих задач при работе с таблицами.

Фишка заключается вот в чем: 1.Надо настроить одну ячейку на "Проверку данных". Это можно сделать через Картинка 1

  1. Затем выбрать перенастройку ячейки через "ручку" выпадающего списка введите сюда описание изображения

  2. И уже в этом режиме настроить диапазон в относительных ссылках. При этом желательно даже не нажимать кнопку "Готово", а просто выбрать другую ячейку в таблице. В этом случае система "Проверки данных" не переделает ссылку на абсолютную. введите сюда описание изображения

Теперь эту ячейку можно копировать в любое другое место и настройка "Проверки данных" будет меняться относительно новых позиций... Шикарный вариант... Буду его использовать во многих задачах...

Кроме того ссылку можно набирать в разных вариантах: H9:H14, или $H9:$H14, или H$9:H$14 и другие вариации.

Думаю, что эта информация должна точно помочь в ваших задачах

→ Ссылка
Автор решения: BotYourBiz

Но на текущий момент "найденный вариант обхода" исправления, для себя, считаю уникальным и уже внедряю в некоторые проекты. Даже можно реализовать сложнейшие структуры выпадающих списков с 3-4-5 мерными вложениями. Быстро, круто, полезно и эффектно. ?

введите сюда описание изображения

→ Ссылка