我有一个包含两列的表,我想计算第三列。
第1栏|第2栏|计算栏
1 | 1 | 1
1 | 1.5 | 2
1 | 2 | 3
2 | 2 | 1
我正在尝试将第三列添加到我的工作表中,然后按升序递增计算值。一旦第1列中的值发生更改,递增应该重新开始。我曾经擅长这一次......但生锈:)任何帮助都会很棒
//name the datasets
var ss=SpreadsheetApp.getActiveSpreadsheet();
//add a new column and name it
ss.insertColumnAfter(2);
ss.getRange("C1").setValue("Tier");
//Get the first store number and result space number
var atvStr = ss.getRange("A2").getValue();
var strNbrR = ss.getRange("A2:A9000").getValues();
var rslt = ss.getRange("C2:C9000").getValues();
//get the last filled row and +1 to go on to the next
var line=ss.getLastRow()+1;
for (i in strNbrR) {
if (strNbrR[i] = atvStr) {
ss.getRange(line).setValue("1");
}
}
}
答案 0 :(得分:1)
如果我理解正确的话,试试这个:
function testMe(){
//name the datasets
var ss=SpreadsheetApp.getActiveSpreadsheet();
//add a new column and name it
ss.insertColumnAfter(2);
//Get the first store number and result space number
var strNbrR = ss.getRange("A2:A").getValues();
var rsltRng = ss.getRange("C2:C");
var rsltVals = rsltRng.getValues();
var newValue = 1;
for ( i in strNbrR) {
if (i >1 ){
if (strNbrR[i][0] !== strNbrR[i - 1][0]) {
++newValue;
}
}
rsltVals[i][0] = newValue;
}
rsltRng.setValues(rsltVals);
}
如果A中的值与上一行中单元格A中的值不同,它将增加C列中的值。