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

My question is about Google sheet looping through a range of cells and ranking scores

嵌入的是我需要为我工作的学校系统中的一些老师做的事情的图像。A 列有分数,B 列中我需要能够对分数进行排名。排名数字从 1 开始,应该保持不变,直到分值发生变化,然后它应该增加 1。我知道我需要某种循环结构,但我不知道如何在 Google 表格或 google 应用程序脚本中做到这一点。有人知道如何使用循环来做到这一点吗?谢谢!

试试这个:

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);
}