先看例子:
为了验证公式正确,使用的SUM(),括号里面的部分就是您用来替代COUNTA()里面的部分,先说结论,您需要把C2公式中的COUNTA(B$1:B$30)修改为:
COUNTA(OFFSET(B$1,LOOKUP(1,0/(B$1:B1="出勤"),ROW(B$1:B1)),0,IFERROR(VLOOKUP("出勤",IF({1,0},B2:B33,ROW(B2:B33)),2,0),10000)-LOOKUP(1,0/(B$1:B1="出勤"),ROW(B$1:B1))))
原理:
示例中SUM()内的部分,也就是您需要的COUNTA()里面的部分,本质上是一个OFFSET()函数,此函数需要四个参数,格式是:
OFFSET(标准单元格,下移行数,右移列数,包含行数,包含列数)
本问题里面,我们的四个参数分别如下:
【标准单元格】是B1,行锁定
【下移行数】是公式行之前的B列最后一个“出勤”文本所在行,使用LOOKUP(1,0/(),ROW())的套路,例如C2公式的结果是1、C7公式的结果是6,B$1下移这么多行,就刚好到了本区域第一个出勤数字处
【右移列数】0
【包含总行数】是公式行下面的第一个“出勤”文本所在行减去公式行之前最后一个“出勤”文本所在行,当前行之后第一个“出勤”文本我使用数组公式VLOOKUP("出勤",IF({1,0},B2:B33,ROW(B2:B33)),2,0),考虑到最后一组后面再也没有“出勤”文本,使用IFERROR(,10000)来保证正确计算
【包含列数】没写,默认1
本文地址: http://www.goggeous.com/g/1/1310543
文章来源:天狐定制
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
2025-01-08职业培训
2025-01-08职业培训
2025-01-08职业培训
2025-01-08职业培训
2025-01-08职业培训
2025-01-08职业培训
2025-01-08职业培训
2025-01-08职业培训
2025-01-08职业培训
2025-01-08职业培训
2025-01-08 04:44:07职业培训
2025-01-08 04:44:07职业培训
2025-01-08 04:44:06职业培训
2025-01-08 04:44:06职业培训
2025-01-08 04:43:57职业培训
2025-01-08 04:43:56职业培训
2025-01-08 04:43:55职业培训
2025-01-08 04:43:54职业培训
2025-01-08 04:43:54职业培训
2025-01-08 04:43:53职业培训
2025-01-02 05:43职业培训
2024-12-06 23:45职业培训
2025-01-07 23:01职业培训
2024-11-26 01:53职业培训
2024-12-01 04:47职业培训
2024-12-30 02:11职业培训
2024-12-05 11:57职业培训
2024-11-26 09:06职业培训
2024-12-10 23:18职业培训
2025-01-02 13:52职业培训
扫码二维码
获取最新动态