如果相邻单元格为空,则在列中创建序列计数(Google 张)

Create serial count in column if adjacent cell is blank (Google Sheets)

我正在尝试创建一个简单的计数 ArrayFormula,如果相邻单元格为空(不包含“IGNORE”),它会以 1 为单位进行迭代。例如。 COUNT 此处的列仅在 STATUS <> IGNORE:

时才计算在内
ROW   STATUS    COUNT
______________________
1     IGNORE    
2     IGNORE
3                 1
4                 2
5                 3
6     IGNORE
7     IGNORE
8                 4
9                 5

我可以在单元格 C1 中使用什么 ArrayFormula COUNT

您可以创建自定义函数并将其与 ARRAYFORMULA 集成。

例子

代码:

function countNonIgnore(values) {
  var tempArr = [];
  var ctr = 1;
  values.forEach(val => {
    if(val[0] == "IGNORE"){
      tempArr.push([""]);
    }else{
      tempArr.push([ctr]);
      ctr++;
    }
  })
  return tempArr;
}

输出:

参考:

使用标准函数的选项:

=ARRAYFORMULA(if(B2:B10<>"IGNORE",COUNTIFS(B2:B10<>"IGNORE",B2:B10<>"IGNORE",ROW(B2:B10),"<="&ROW(B2:B10)),))

如果你真的需要 C1 中的公式,我会使用这样的公式:

=ARRAYFORMULA(IF(ROW(B:B)=1, "COUNT", IF((B:B<>"IGNORE")*(A:A<>""), COUNTIFS(B:B<>"IGNORE", TRUE, ROW(B:B), "<="&ROW(B:B))-1,)))

如果在C2,那么

=ARRAYFORMULA(IF((B2:B<>"IGNORE")*(A2:A<>""), COUNTIFS(B2:B<>"IGNORE", TRUE, ROW(B2:B), "<="&ROW(B2:B)),))