1

Я ищу создание выпадающего списка на основе значения.Создать раскрывающийся список на основе значения в электронной таблице google

enter image description here

У меня есть это 2 столбцов в листе 1 со значениями, на колонке A является Категория и Столбец B является стоимость, что я хочу на другом листе, я хочу, чтобы создать выпадающий список колонки Значение, основанное на столбце Категория,

например., На листе 2 столбца А выбор DropDownList должен быть только теми значениями, которые имеют значение Sample1 в категории. и в столбце B. Я хочу, чтобы все варианты в раскрывающемся списке были только теми значениями, которые имеют категорию Sample2.

Я знаю каскадный выпадающий список, но я думаю, что это немного другое.

Спасибо заранее.

ответ

1

Как насчет следующего сценария?

function myFunction() { 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var sheet1 = ss.getSheets()[0]; 
    var data = sheet1.getRange('a1:b7').getValues(); 
    var choises = ['Sample1', 'Sample2']; 
    var list = []; 
    for (var i in choises){ 
    var ar = data.filter(function(e){return (e[0]==choises[i])}).map(function(e){return e[1]}); 
    list.push(ar); 
    } 
    var sheet2 = ss.getSheets()[1]; 
    for (var i=0; i<list.length; i++){ 
    var rule = SpreadsheetApp.newDataValidation().requireValueInList(list[i], true).build(); 
    var range = sheet2.getRange(2,i+1) 
    range.setValue(list[i][0]); 
    range.setDataValidation(rule); 
    } 
} 

Выпадающий список sample1

enter image description here

Выпадающий список sample2

enter image description here

Если я неправильно, и это не то, что вы хотите, не стесняйтесь сказать мне , Я изменю это.

+0

Возможно ли, чтобы это появилось во втором ряду? – user7254740

+0

Прошу прощения за мое плохое понимание. Я изменил этот скрипт только сейчас. Пожалуйста, подтвердите. Если бы это был не тот сценарий, который вы хотели, сообщите мне. – Tanaike

+0

спасибо за ответ, он работает замечательно, только один последний вопрос, как я могу сделать это, чтобы Sample1 отображался на другом листе, а Sample2 будет отображаться на другом листе? Я хочу разделить выпадающий список на 2 разных листа. – user7254740