1

値に基づいてドロップダウンリストを作成します。Googleスプレッドシートの値に基づいてドロップダウンリストを作成します

enter image description here

私は列Aに、値でシート1で、この2列を持っているカテゴリーと列Bである私が何をしたいの値は、別のシート上にあるされて、私は列のドロップダウンリストを作成したいです列カテゴリに基づく値

たとえば、シート2の列Aでは、ドロップダウンリストの選択肢は、カテゴリの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); 
    } 
} 

サンプル2

enter image description here

のサンプル1

enter image description here

ドロップダウンリストのドロップダウンリスト、私が勘違いして、これはあなたが望むものではない場合、私に言うこと自由に感じ。私はこれを修正します。

+0

これは2行目に表示されますか? – user7254740

+0

私の貧弱な理解には申し訳ありません。私は今このスクリプトを修正しました。それを確認してください。それがあなたが望むスクリプトでないなら、私に教えてください。 – Tanaike

+0

答えがありがとう、それはすばらしい、ちょうど最後の質問、私はどのようにSample1は別のシートに表示され、Sample2は別のシートに表示されますことができますか? 2つの異なるシートにドロップダウンを分けてください。 – user7254740

関連する問題