我有一列包含“Y”和“N”值,需要一个公式来计算“Y”的最后连续出现次数。因此,如果我让该列如下所示:
Y
Y
Y
N
Y
N
Y
Y
期望的结果是 2
Y
Y
Y
Y
N
N
Y
这里是 1
Y
Y
Y
Y
N
这里它将是 0。使用 Excel、Numbers 或 Google Docs 之类的工具可以实现这一点吗?
答案1
这个小小的 Google 应用脚本就能实现它:
function LASTCON(array) {
// set active spreadsheet
var ss = SpreadsheetApp.getActiveSpreadsheet();
// get active sheet
var sh = ss.getActiveSheet();
// get data
var data = sh.getRange(array).getValues();
// determine length of array
var dLen = data.length;
// create yes counter
var yesCount = 0;
// itterate through array (backwards)
for(var i=dLen-1; i>=0; i--) {
if(data[i] == "Y") {
yesCount++;
} else {
break;
}
}
// pass result to formula
return yesCount;
}
通过脚本编辑器将此脚本添加到电子表格中,该函数LASTCON
将在整个工作表中可用,如下所示:=LASTCON("A1:A6")
请参阅我准备的示例文件:列中的最后连续值(可编辑)