Google Sheet:匹配列值自动获取行范围并按日期范围计数
在Google Sheets中实现匹配指定行的动态计数
解决方案公式
基础版本
=COUNTIFS(Sheet1!1:1, ">="&$A$13, Sheet1!1:1, "<="&$B$13, INDEX(Sheet1!2:6, MATCH(A8, Sheet1!A2:A6, 0), 0), ">0")
带错误处理版本(无匹配结果时返回0)
=IFERROR(COUNTIFS(Sheet1!1:1, ">="&$A$13, Sheet1!1:1, "<="&$B$13, INDEX(Sheet1!2:6, MATCH(A8, Sheet1!A2:A6, 0), 0), ">0"), 0)
公式逻辑拆解
- MATCH函数:
MATCH(A8, Sheet1!A2:A6, 0)精确定位目标名称(如A8单元格的"Abhishek")在A2:A6列中的位置,返回1-5的数值,对应行2到行6。 - INDEX函数:
INDEX(Sheet1!2:6, MATCH结果, 0)根据MATCH得到的位置,提取Sheet1中对应的整行数据(0表示返回该行所有列的内容)。 - COUNTIFS函数:同时满足两个条件统计单元格数量:
- 第1行的日期落在
$A$13(开始日期)与$B$13(结束日期)之间; - 匹配到的目标行中,单元格数值大于0。
- 第1行的日期落在
参数调整说明
A8:替换为存放待匹配名称的实际单元格;Sheet1!A2:A6:替换为你的名称匹配列范围;Sheet1!2:6:替换为与名称列对应的数值行范围;$A$13和$B$13:固定引用的日期范围单元格,确保下拉公式时范围不偏移。
内容的提问来源于stack exchange,提问作者Kamaldeep Singh
相关产品推荐
相关产品推荐

