电子表格公式用于计算列中的连续值

电子表格公式用于计算列中的连续值

我有一列包含“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")

请参阅我准备的示例文件:列中的最后连续值(可编辑)

相关内容