そこで、配列に入力する値を格納しておき、複数のセルに対して一気に書きこむ方法が有効です。
例えば、次のスクリプトは、routes という二次元配列に値を格納し、最後に setValues() の 1回の呼び出しで複数のセルに結果を書き込みます。 ただ、このコードは次のエラーになります(エラーメッセージの数字はスプレッドシートの内容により異なります)。
3 は無効な高さです。4 にする必要があります。
Google Apps Script の「無効な高さです。」エラーの原因
このエラーの原因は、書き込む範囲を getRange() で取得した際の Range の行・列の数と、書き込むデータを格納している二次元配列のサイズが一致していないことです。正しいコードは、20行目が、
var outputRange = activeSheet.getRange(2, 3, dat.length - 1, 2);
となります。