このGASスクリプトがデータ検証オプションの読み込みに非常に時間がかかるのはなぜですか?

アントニオサントス

データベースと呼ばれる別のシートからデータを取得しています。これはベストプラクティスではないことを理解していますが、目的を果たします...これまでのところ約900行あり、列に値がある場合は列13から一意の値を取得することを考えると、コードの読み込みに時間がかかります。 1はセルB3にあるものと一致します。不思議なことに、他のシートでも問題なく動作しましたが、これで設定が完了しました。

function onEdit() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Edit Entry');
  var dataSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Database");
  var periodList = new Array();
  var activeCell = ss.getActiveCell();
 if (ss.getSheetName() === "Edit Entry" && activeCell.getColumn() == 2 && activeCell.getRow() == 3) {
    activeCell.offset(1, 0).clearContent().clearDataValidations();
    ss.getRange("A7:L").clearContent();
  var dataRng = dataSheet.getRange(2, 1, dataSheet.getLastRow(), 15).getValues();

  for (var i = 0; i < dataRng.length; i++) {
    if (dataRng[i].indexOf(activeCell.getValue()) != -1) {
      periodList.push(dataRng[i][12]);
    }
  }
  //This function removes duplicates from the list/array
  function removeDups(periodList) {
    var outArray = [];
    periodList.sort();
    outArray.push(periodList[0]);
    for (var n in periodList) {
      //Logger.log(outArray[outArray.length-1]+'  =  '+versionList[n]+' ?');
      if (outArray[outArray.length - 1] != periodList[n]) {
        outArray.push(periodList[n]);
      }
    }
    outArray.sort();
    return outArray;
  }
  var newPeriodList = removeDups(periodList);
    var validation = SpreadsheetApp.newDataValidation();
    validation.setAllowInvalid(false);
    validation.requireValueInList(newPeriodList, true);
    activeCell.offset(1, 0).setDataValidation(validation.build());
  }
}

どんな助けでも大歓迎です!乾杯、

タナイケ

あなたのスクリプトを見たとき、それactiveCell.getValue()がループで使用されていることに気づきました。これがあなたの問題の理由の一つかもしれないと思いました。そのため、今回は以下の修正を提案したいと思います。

から:

for (var i = 0; i < dataRng.length; i++) {
  if (dataRng[i].indexOf(activeCell.getValue()) != -1) {
    periodList.push(dataRng[i][12]);
  }
}

に:

var v = activeCell.getValue();  // Added
for (var i = 0; i < dataRng.length; i++) {
  if (dataRng[i].indexOf(v) != -1) {  // Modified
    periodList.push(dataRng[i][12]);
  }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

InputStream.readObjectがシリアル化されたオブジェクトの読み取りに非常に時間がかかるのはなぜですか

分類Dev

デバイスとプリンターの読み込みに時間がかかりすぎる

分類Dev

非常に大きなh.264エンコードmp4(+ faststart、つまり最初にメタデータを使用)を使用したHTML5ビデオの読み込みに時間がかかるのはなぜですか?

分類Dev

角度のあるアプリケーションの自動化でページ要素の読み込み時間が長いためにスクリプトの失敗を回避するにはどうすればよいですか?

分類Dev

なぜColdFusionの起動、解析、コンパイル、読み込み、シャットダウンの読み込み時間が非常に遅いのですか?

分類Dev

認証にiamを使用するとリレーショナルデータを読み取れないのに、cognitoユーザープールを介して認証すると読み取ることができるのはなぜですか

分類Dev

ページにcss変換が含まれている場合、Modernizrなどの機能検出器がスクリプトの読み込み時にページのレンダリングを中断することは可能ですか?

分類Dev

Cassandra のプリペアドステートメントのデータ取り込みが非常に遅いのはなぜですか?

分類Dev

ポートフォリオWebサイトの読み込みに時間がかかるのはなぜですか?

分類Dev

Djangoモデルのadminへの読み込みに時間がかかるのはなぜですか?

分類Dev

動的にリンクされたインポート(Windowsの場合)が常にアプリケーションの起動時に読み込まれるのはなぜですか?

分類Dev

アニメーションの読み込み時にテキストが表示されるのはなぜですか?

分類Dev

煎茶タッチの読み込みに時間がかかるのはなぜですか?

分類Dev

グラフィックアプリケーションで、実行時にシェーダーがアプリケーションに読み込まれるのはなぜですか?

分類Dev

テーブルの読み込みに時間がかかるのはなぜですか

分類Dev

アプリケーションまたはアクティビティの読み込みに時間がかかる

分類Dev

このカスタムUbuntuテーマが一部のアプリケーションにのみ影響するのはなぜですか?

分類Dev

Ember.jsアプリケーションが2回読み込まれるのはなぜですか?

分類Dev

DASK Delayedとのマージが、DASK組み込みコマンドとのマージよりも非常に時間がかかるのはなぜですか?

分類Dev

このMATLABスクリプトの実行に時間がかかるのはなぜですか?

分類Dev

ページの読み込み時にvoiceschangedイベントが発生するのはなぜですか?

分類Dev

選択したリストオプションに基づいてページの読み込み時にデフォルトのタブ(div)を表示するにはどうすればよいですか

分類Dev

Angular 5アプリケーションは、初めてのユーザーの読み込みに時間がかかります。速度を上げるためにサポートが必要です。

分類Dev

jsスクリプトがWordPressに読み込まれないのはなぜですか

分類Dev

JavaMailSenderが間違ったメールパスワードでアプリケーションコンテキストの読み込みに失敗しないようにするにはどうすればよいですか?

分類Dev

デスクトップからのNSImageの読み込みがココアアプリでゼロになる

分類Dev

HDFSからESへのデータの読み込みに非常に長い時間がかかる

分類Dev

NoSQLデータベースサーバーが一部のリレーショナルデータベースよりもはるかに優れた書き込みスループットを達成できるのはなぜですか?

分類Dev

データセットが原因でフォームの読み込みに時間がかかりすぎる

Related 関連記事

  1. 1

    InputStream.readObjectがシリアル化されたオブジェクトの読み取りに非常に時間がかかるのはなぜですか

  2. 2

    デバイスとプリンターの読み込みに時間がかかりすぎる

  3. 3

    非常に大きなh.264エンコードmp4(+ faststart、つまり最初にメタデータを使用)を使用したHTML5ビデオの読み込みに時間がかかるのはなぜですか?

  4. 4

    角度のあるアプリケーションの自動化でページ要素の読み込み時間が長いためにスクリプトの失敗を回避するにはどうすればよいですか?

  5. 5

    なぜColdFusionの起動、解析、コンパイル、読み込み、シャットダウンの読み込み時間が非常に遅いのですか?

  6. 6

    認証にiamを使用するとリレーショナルデータを読み取れないのに、cognitoユーザープールを介して認証すると読み取ることができるのはなぜですか

  7. 7

    ページにcss変換が含まれている場合、Modernizrなどの機能検出器がスクリプトの読み込み時にページのレンダリングを中断することは可能ですか?

  8. 8

    Cassandra のプリペアドステートメントのデータ取り込みが非常に遅いのはなぜですか?

  9. 9

    ポートフォリオWebサイトの読み込みに時間がかかるのはなぜですか?

  10. 10

    Djangoモデルのadminへの読み込みに時間がかかるのはなぜですか?

  11. 11

    動的にリンクされたインポート(Windowsの場合)が常にアプリケーションの起動時に読み込まれるのはなぜですか?

  12. 12

    アニメーションの読み込み時にテキストが表示されるのはなぜですか?

  13. 13

    煎茶タッチの読み込みに時間がかかるのはなぜですか?

  14. 14

    グラフィックアプリケーションで、実行時にシェーダーがアプリケーションに読み込まれるのはなぜですか?

  15. 15

    テーブルの読み込みに時間がかかるのはなぜですか

  16. 16

    アプリケーションまたはアクティビティの読み込みに時間がかかる

  17. 17

    このカスタムUbuntuテーマが一部のアプリケーションにのみ影響するのはなぜですか?

  18. 18

    Ember.jsアプリケーションが2回読み込まれるのはなぜですか?

  19. 19

    DASK Delayedとのマージが、DASK組み込みコマンドとのマージよりも非常に時間がかかるのはなぜですか?

  20. 20

    このMATLABスクリプトの実行に時間がかかるのはなぜですか?

  21. 21

    ページの読み込み時にvoiceschangedイベントが発生するのはなぜですか?

  22. 22

    選択したリストオプションに基づいてページの読み込み時にデフォルトのタブ(div)を表示するにはどうすればよいですか

  23. 23

    Angular 5アプリケーションは、初めてのユーザーの読み込みに時間がかかります。速度を上げるためにサポートが必要です。

  24. 24

    jsスクリプトがWordPressに読み込まれないのはなぜですか

  25. 25

    JavaMailSenderが間違ったメールパスワードでアプリケーションコンテキストの読み込みに失敗しないようにするにはどうすればよいですか?

  26. 26

    デスクトップからのNSImageの読み込みがココアアプリでゼロになる

  27. 27

    HDFSからESへのデータの読み込みに非常に長い時間がかかる

  28. 28

    NoSQLデータベースサーバーが一部のリレーショナルデータベースよりもはるかに優れた書き込みスループットを達成できるのはなぜですか?

  29. 29

    データセットが原因でフォームの読み込みに時間がかかりすぎる

ホットタグ

アーカイブ