Google Apps Script の「無効な高さです。」エラーを修正する方法

Google Apps Script でスプレッドシートに入力するスクリプトを書くとき、セルへの入力ごとに API を呼んでいると動作が遅くなってしまいます。

そこで、配列に入力する値を格納しておき、複数のセルに対して一気に書きこむ方法が有効です。

例えば、次のスクリプトは、routes という二次元配列に値を格納し、最後に setValues() の 1回の呼び出しで複数のセルに結果を書き込みます。 ただ、このコードは次のエラーになります(エラーメッセージの数字はスプレッドシートの内容により異なります)。
3 は無効な高さです。4 にする必要があります。

Google Apps Script の「無効な高さです。」エラーの原因

このエラーの原因は、書き込む範囲を getRange() で取得した際の Range の行・列の数と、書き込むデータを格納している二次元配列のサイズが一致していないことです。

正しいコードは、20行目が、
var outputRange = activeSheet.getRange(2, 3, dat.length - 1, 2);
となります。