Google SpreadSheetのセルの値を変更したのに、関数などに反映されていないことがあります。
関数の再計算をさせるには、その処理を追加する必要があります。
SpreadsheetApp.flush();
これは、スクリプト実行時は処理の効率化のために、関数の再計算が抑制されているからです。
Googleスプレッドシートで、入力フォームからデータ表に追記するスクリプトを作成したのですが、印刷用フォームに反映されない不具合がありました。
ただ、データ表を確認して元にシートに戻ると、いつの間にか数値が直っていたり。
これは、関数の再計算(flush)が原因でした。
flush()
スプレッドシートに対する保留中の変更をすべて適用します1。
スプレッドシートのオペレーションは、Range.getValue() を複数回呼び出す場合など、パフォーマンスを向上させるためにバンドルされる場合があります。
ただし、スクリプトの実行中にユーザーデータを表示したい場合など、保留中の変更をすべて直ちに適用したい場合もあります。
(補足)
QRコードを読み込むと、関連記事を確認できます。