0

各シートがテーブルになり、人の名前が主キーとして使用されるスプレッドシートをデータベースとして使用しようとしています (これは最良の解決策ではないようですが、優れたスプレッドシート インターフェイスにより、これを好むようになります) 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...
}

このようなクエリを実行する別の方法はありますか?

助けてくれてありがとう!

4

1 に答える 1

0

UI インスタンスを作成します。その場合、メイン パネル内のスクロール可能なパネルがこれを行う最良の方法であり、配列を使用してデータを検索します。私は通常、ヘッダーとフッターのパネルを作成し、本文はスクロール可能です

于 2013-11-02T23:44:19.950 に答える