各シートがテーブルになり、人の名前が主キーとして使用されるスプレッドシートをデータベースとして使用しようとしています (これは最良の解決策ではないようですが、優れたスプレッドシート インターフェイスにより、これを好むようになります) ScriptDB を使用するのではなく、ソリューションを使用してください。) そして、次のことを行いたい: シートで名前を選択し、追加したメニューのボタンを押すと、関数が別のテーブルと画面で検索を実行し、すべてを表示します。そのクエリの結果が他のテーブルに表示され、そのテーブルのみに含まれるプロパティ レコードが表示されます (後で、GDocs テンプレートからテキスト ファイルを生成する機能を追加したいと考えています)。私の質問は次のとおりです: 1) この画面/パネル UI が可変長であることを考慮すると (他のテーブルではレコード番号が異なる場合があるため)、Google Apps Script でこのパネル/UI を作成する最良の方法は何ですか? (私はしません
2)このソリューションに加えて(結果の2D配列での検索):
function test(){ // to test the find function with an argument, 'any' in this case
var result = findItem('any');
if(result){Logger.log(result.getA1Notation())}else{Logger.log('no luck !')};
}
function findItem(item){
var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var data = ss.getDataRange().getValues()
for(var n = 0;n<data.length;++n){
if(data[n].indexOf(item)>-1){ // this is a "strict" find, ie the value must be the entire search item. If you want to do partial match you should compare differently...
return (ss.getRange(n+1,data[n].indexOf(item)+1)); // if found return the range. note the +1 because sheets have 1 index while arrays have 0 index
}
}
return false;// if we come to the end of sheet without result...
}
このようなクエリを実行する別の方法はありますか?
助けてくれてありがとう!