我的问题是有关Google表格遍历一系列单元格和排名分数的问题

时间:2019-06-14 14:41:42

标签: google-apps-script google-sheets google-sheets-formula google-sheets-query google-sheets-macros

enter image description here

Embedded是我需要为所工作的学校系统中的某些老师做些什么的图像。A列中有得分,而B列中我需要能够对得分进行排名。等级编号从1开始,并且应保持不变,直到得分值发生变化,然后再递增1。我知道我需要某种循环结构,但是我不知道如何在Google表格或Google应用程序脚本中执行此操作。有人知道如何使用循环吗?谢谢!

1 个答案:

答案 0 :(得分:1)

尝试一下:

function scoreRanking() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Sheet1');
  var rg=sh.getRange(2,1,sh.getLastRow()-1,2);
  var vA=rg.getValues();
  var rObj={};
  var s=1;//Initial rank value
  for(var i=0;i<vA.length;i++) {
    if(rObj.hasOwnProperty([vA[i][0]])) {
      vA[i][1]=rObj[vA[i][0]];

    }else{
      rObj[vA[i][0]]=s++;
      vA[i][1]=rObj[vA[i][0]];
    }
  }
  rg.setValues(vA);
}