私のコードは、ループして毎回新しい行を取得することになっています。最初の行に進み続けることを除いて、すべてが正しく行われます。どうやら正しくループしており、カウントはしばらくの間nn
機能していますが、インクリメントしようとすると失敗するため、セルの直後から開始する代わりに、開始した場所に戻ります。どんな助けでも大歓迎です、ありがとう。
function doGet() {
var app = UiApp.createApplication().setTitle('When Am I Eligible?');
//var panel = app.createVerticalPanel()/*.setHeight("400px;")*/.setWidth("800px");
//var submitButton = app.createButton('Check');
var key= ''
var ss = SpreadsheetApp.openById(key);
var sh = ss.getSheetByName('SHEET');
var last=ss.getLastRow();
var data=sh.getRange(1,1,last,5).getValues();
var valB= Session.getEffectiveUser();
var nn = 0;
for (cnt=0; cnt<8; ++cnt){
for(nn;nn<data.length;++nn){
if (data[nn][1]==valB){
var final = data[nn][0];
var final1 = data[nn][1];
var final2 = data[nn][2];
var final3 = data[nn][3];
var final4 = data[nn][4];
break} ;// if a match in column B is found, break the loop
}
var app = UiApp.getActiveApplication();
var panel = app.createVerticalPanel()/*.setHeight("400px;")*/.setWidth("800px");
var answer = app.createLabel("BRO").setVisible(true).setText(final)
var answer1 = app.createLabel("BRO").setVisible(true).setText(final1)
var answer2 = app.createLabel("BRO").setVisible(true).setText(final2)
var answer3 = app.createLabel("BRO").setVisible(true).setText(final3)
var answer4 = app.createLabel("BRO").setVisible(true).setText(final4)
panel.add(answer).add(answer1).add(answer2).add(answer3).add(answer4);
app.add(panel);
nn++
if (cnt == 7) {
break}
}
return app;
}
問題はセルの位置data[nn]
ではないようです。nn
私のログデータはこれを示しています
- [13-06-14 09:04:58:671 EDT] 6.0 これは、探しているものが見つかったときの nn です。
- [13-06-14 09:04:58:676 EDT] 7.0 これは私がインクリメントしています。
- [13-06-14 09:04:58:676 EDT] 1.0 セント
- [13-06-14 09:04:58:680 EDT] 25.0 をもう一度見ると、これは再び nn 値です。
- [13-06-14 09:04:58:680 EDT] 2.0
....等
奇妙な部分は、その発見値が最初のセルと列であることです。これらすべての奇数の値を取得しますが、最初の列と行から値を返します。