2014-09-29 104 views
0

我想总结范围值,但由于某些原因,它不是总结。任何想法为什么? 我不是在JavaScript很不错,但我有一定的了解...总和范围值

function bag(input) { 
    var sheet = SpreadsheetApp.getActiveSpreadsheet() 
    var AllValues = sheet.getRange(input).getValues(); 
    var FValue = ""; 
    var TotalGold = 0; 
    var TotalSilver = 0; 
    var TotalBronze = 0; 
    for(i = 0; i < AllValues.length; i++) { 
     var total = AllValues[i][0].split(" "); 

     for(i = 0; i < total.length; i++){ 
      if (total[i].indexOf("g") >= 0) { 
       var value = total[i].replace("g",""); 
       var gold = value * 1; 
       TotalGold = TotalGold + gold; 
      } 
      else if (total[i].indexOf("s") >= 0) { 
       var value = total[i].replace("s",""); 
       var silver = value * 1; 
       TotalSilver = TotalSilver + silver; 
      } 
      else if (total[i].indexOf("b") >= 0) { 
       var value = total[i].replace("b",""); 
       var bronze = value * 1; 
       TotalBronze = TotalBronze + bronze; 
      } 
      else { 
       return null; 
      } 
     } 
    } 
    return TotalGold + "g " + TotalSilver + "s " + TotalBronze + "b"; 
} 

回答

0

看样子你是在嵌套迭代覆盖你的i值。选另一个标识符。例如:for (var j = 0; j < total.length; j++) { ... }

+0

谢谢,它现在工作。我还有其他的事情要做,因为如果在这个范围内有任何一个强大的单元格,它就会恢复原状。顺便说一句,在我需要使用= bag(“c5:c8”)的例子中,我如何不需要“在formular中= bag(c5:c8)......谢谢 – user3801128 2014-09-29 22:01:01