如何在ArrayFormula中加入COUNT函数统计到最后一个Victor的行数?
解决方法
首先明确需求:统计到最后一个Victor所在行为止的总行数,本质就是获取最后一个Victor的行号(行数从1开始累计到该行)。
原始表格数据
| rows | A | B |
|---|---|---|
| 1 | 1 | Joe |
| 2 | 2 | Bill |
| 3 | 3 | Pete |
| 4 | 4 | Victor |
| 5 | 5 | Don |
| 6 | 6 | Victor |
| 7 | 7 | Bob |
原公式说明
原公式=ArrayFormula(LOOKUP(2,1/(B1:B7="Victor"),A1:A7))利用LOOKUP的特性,找到最后一个匹配Victor的A列值(结果为6),因A列正好对应行号。
加入COUNT函数的实现公式
要满足需求,可使用以下公式:
=ArrayFormula(COUNT(A1:INDEX(A:A,LOOKUP(2,1/(B1:B7="Victor"),ROW(B1:B7)))))
公式拆解
LOOKUP(2,1/(B1:B7="Victor"),ROW(B1:B7)):获取最后一个Victor所在的行号(此处结果为6)。INDEX(A:A,行号):生成从A1到目标行的单元格范围(即A1:A6)。COUNT(...):统计该范围内的非空单元格数量,也就是从第1行到最后一个Victor所在行的总行数。
内容的提问来源于stack exchange,提问作者google geek
相关产品推荐
相关产品推荐

