[[20231018182812]] 『GASの実行スピードが遅い』(ぽすと) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『GASの実行スピードが遅い』(ぽすと)

いつもお世話になっております。

以下のスクリプトを実行するとものすごくスピードが遅いです。
処理を早くするにはどうすればよいですか?

フォーム回答1シートのA列には2つもお世話になっております。

フォーム回答1シートのA列には2022/1/1から2023/9/30まで記載されていて、C列には?@?A?Bの施設がランダムで記入されている状況です。
以下のスクリプトを実行するとものすごくスピードが遅いです。
処理を早くするにはどうすればよいですか?

// ?@のデータを取得し、B5に転記
営業事業所取得("?@", "B5");

// ?Aのデータを取得し、B13に転記
営業事業所取得("?A", "B14");

// ?Bのデータを取得し、B22に転記
営業事業所取得("?B", "B23");

function 営業事業所取得(営業事業所名, 転記先セル) {

  var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet1 = spreadsheet.getSheetByName("シート1");

  // シート1のA2からB2に記載されている日付を取得
  var startDate = sheet1.getRange("A2").getValue();
  var endDate = sheet1.getRange("B2").getValue();

  // G列のデータを取得
  var dataSheet = spreadsheet.getSheetByName("フォームの回答 1"); 
  var data = dataSheet.getRange("G2:G" + dataSheet.getLastRow()).getValues();

  // 結果を格納する配列
  var results = [];

  // G列のデータから指定の日付範囲内で指定の営業事業所名を検索
  for (var i = 0; i < data.length; i++) {
    var cellValue = data[i][0];
    var cellRow = i + 2; // シート上の行番号に合わせて調整

    // 日付を取得
    var date = dataSheet.getRange("A" + cellRow).getValue();

    if (date >= startDate && date <= endDate && cellValue === 営業事業所名 && results.indexOf(cellValue) === -1) {
      // C列から文字を取得
      var charValue = dataSheet.getRange("C" + cellRow).getValue();

      // 結果の配列に文字を追加
      results.push(charValue);
    }
  }

  // 結果を指定の転記先セルから順番に右に転記
  var targetCell = sheet1.getRange(転記先セル);
  for (var j = 0; j < results.length; j++) {
    targetCell.offset(0, j).setValue(results[j]);
  }
}

何か良い方法をご教示お願いいたします。

< 使用 アプリ:スプレッドシート、使用 OS:unknown >


>何か良い方法をご教示お願いいたします。
この掲示板の冒頭にあるようにここはエクセルの学校です。
それは Google がクラウドとしてサービス提供しているんですよね。
Google に相談されてはいかがですか。
(ここはExcel学校) 2023/10/18(水) 19:46:13

処理は正常に終了していますか?
データは何行くらいあって、どのくらいの時間がかかるんですか?
処理時間はApps Scriptダッシュボードで見ていますか?

こちらも参考にしてください。
https://officeforest.org/wp/2018/11/24/google-apps-script%E3%82%92%E9%AB%98%E9%80%9F%E5%8C%96%E3%81%99%E3%82%8B%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF%E3%81%BE%E3%81%A8%E3%82%81/
(ゆたか) 2023/10/19(木) 13:44:06


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.