一般にGoogle App Scriptでは、APIを使うと遅くなります。
関数であれ値であれシートに何かをセットするのであれば、配列に書き込むデータを作っておいて、まとめてセットするというふうにしたほうがいいと思います。
下記の例での速度感の違いがご参考になればと思います。
記載例ではn30,n60,n90となっているので、補足します。飛び飛びの位置にそれも元のデータを維持しながら書き込みをしないといけないのであれば、getValuesをしてまるっと取り出して加工して全部を戻す、とすればよいかと思います。
javascript
1function myFunction1() {
2 var sheet = SpreadsheetApp.getActive().getSheetByName('シート1');
3 sheet.clear();
4 var datas = [];
5 Logger.log("start");
6 for(var i = 1; i < 1001; i++){
7 datas.push([1,2,"=A1+B1"]);
8 }
9 var datac = sheet.getRange(1,1, 1000,3).setValues(datas);
10 Logger.log("stop");
11}
12// [18-05-02 23:14:53:629 JST] start
13// [18-05-02 23:14:53:667 JST] stop
14// [18-05-02 23:17:41:844 JST] start
15// [18-05-02 23:17:41:877 JST] stop
16// [18-05-02 23:18:12:851 JST] start
17// [18-05-02 23:18:12:911 JST] stop
18// [18-05-02 23:18:47:572 JST] start
19// [18-05-02 23:18:47:612 JST] stop
20
21function myFunction2() {
22 var sheet = SpreadsheetApp.getActive().getSheetByName('シート1');
23 sheet.clear();
24 Logger.log("start");
25 for(var i = 1; i < 1000; i++){
26 sheet.getRange(i, 1).setValue(1);
27 sheet.getRange(i, 2).setValue(2);
28 sheet.getRange(i, 3).setValue("=A1+B1");
29 }
30 Logger.log("stop");
31}
32//[18-05-02 23:19:12:199 JST] start
33//[18-05-02 23:19:16:271 JST] stop
34//[18-05-02 23:19:41:807 JST] start
35//[18-05-02 23:19:45:947 JST] stop
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。