-1

これが私の機能です

 function Cool() {   var h = SpreadsheetApp.getActiveSpreadsheet();  
 var range = 0;   var count = 1;   var alph = ["A", "B", "C", "D", "E",
 "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S",
 "T"];   for (i = 0; i < 20; i+=0.5) {
     if (i == 19 && count != 5) {
       i == 0;
       count += 1;
     } else if (i == 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10 || 11 || 12 || 13 || 14 || 15 || 16 || 17 || 18) {
       range = h.getSheets()[0].getRange(alph[i] + count + ":" + alph[i] + count);
       SpreadsheetApp.setActiveRange(range);
       randomize();
     }   } }

にエラーがある

range = h.getSheets()[0].getRange(alph[i] + count + ":" + alph[i] + count);
4

1 に答える 1

0

使用しているデータを見ましたか?

これは、ロガーを使用してスクリプトをわずかに変更したバージョンで、何が起こるか、および以下のログ結果を確認できます。エラー メッセージが表示される理由が理解できると思います。あなたの条件の簡略化された構文は、あなたが望んでいたことをしていないようですよね?

ところで、このスクリプトの最終的な目的は何ですか? アイデアを説明していただけますか?

i の整数値に対してのみ何かをしたい場合はif(i==parseInt(i))、たとえば次のようなものを使用する方が簡単です...

function Cool() {   
  var h = SpreadsheetApp.getActiveSpreadsheet();  
  var range = 0;   var count = 1;   var alph = ["A", "B", "C", "D", "E",
 "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S",
 "T"];   for (i = 0; i < 20; i+=0.5) {
     if (i == 19 && count != 5) {
       i == 0;
       count += 1;
     } else if (i == 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 || 10 || 11 || 12 || 13 || 14 || 15 || 16 || 17 || 18) {
//       range = h.getSheets()[0].getRange(alph[i] + count + ":" + alph[i] + count);
//       SpreadsheetApp.setActiveRange(range);
 Logger.log('i='+i+'  '+alph[i] + count + ":" + alph[i] + count);
 //      randomize();
     }  
     }
     }

ロガーの結果:

i=0  A1:A1
i=0.5  undefined1:undefined1
i=1  B1:B1
i=1.5  undefined1:undefined1
i=2  C1:C1
i=2.5  undefined1:undefined1
i=3  D1:D1
i=3.5  undefined1:undefined1
i=4  E1:E1
i=4.5  undefined1:undefined1
i=5  F1:F1
i=5.5  undefined1:undefined1
i=6  G1:G1
i=6.5  undefined1:undefined1
i=7  H1:H1
i=7.5  undefined1:undefined1
i=8  I1:I1
i=8.5  undefined1:undefined1
i=9  J1:J1
i=9.5  undefined1:undefined1
i=10  K1:K1
i=10.5  undefined1:undefined1
i=11  L1:L1
i=11.5  undefined1:undefined1
i=12  M1:M1
i=12.5  undefined1:undefined1
i=13  N1:N1
i=13.5  undefined1:undefined1
i=14  O1:O1
i=14.5  undefined1:undefined1
i=15  P1:P1
i=15.5  undefined1:undefined1
i=16  Q1:Q1
i=16.5  undefined1:undefined1
i=17  R1:R1
i=17.5  undefined1:undefined1
i=18  S1:S1
i=18.5  undefined1:undefined1
i=19.5  undefined2:undefined2

編集:本質的に好奇心が強いので、提案されたIFステートメントでコードを試してみましたが、次のログが得られました(はるかに優れています;-)が、まったく役に立ちません。ユニティインクリメントを使用した単純なforループは同じことを行います...

i=0  A1:A1
i=1  B1:B1
i=2  C1:C1
i=3  D1:D1
i=4  E1:E1
i=5  F1:F1
i=6  G1:G1
i=7  H1:H1
i=8  I1:I1
i=9  J1:J1
i=10  K1:K1
i=11  L1:L1
i=12  M1:M1
i=13  N1:N1
i=14  O1:O1
i=15  P1:P1
i=16  Q1:Q1
i=17  R1:R1
i=18  S1:S1

そこで疑問が残ります。最終的な目標は何だったのでしょうか?

于 2013-01-25T12:16:47.613 に答える