Q:Googleスプレッドシートのトリガー「行が更新されたら」でトリガーが起動しなかったり、起動が何時間も遅れることがあります。
更新を検知する列には関数を使用しています。
A:「更新を検知したい列」に、日付・日時を使う関数を入れるとトリガー発火の保証ができないため、お控えいただくようお願いいたします。
🙅NG関数例
TODAY関数
NOW関数
DATE関数
TIME関数
その他、上記と関連させた関数
背景
Googleスプレッドシートのトリガー「行が更新されたら」は、
Googleスプレッドシートの更新履歴を基に発火する仕様となっています。
現在のGoogleスプレッドシートの仕様では、関数の結果が変わるのみでは更新履歴が作成されないため、トリガーは発火しません。
※スプレッドシート上で他の操作を行なうと、関数を含めた更新履歴がまとめて作成されるため、その後トリガーが発火し、何時間も起動が遅れているように見える場合があります。想定外のトリガー発火を避けるためにも、「更新を検知したい列」への関数設定はお控えください。