Google Sheets查询指定日期范围内行总和最大值对应人员及数值
Google Sheets指定日期范围行总和最大值查询方案
前置准备
先选择两个空白单元格存放查询所需的日期范围:
- 起始日期:存放在
F1单元格(可自定义位置) - 结束日期:存放在
G1单元格(可自定义位置)
默认适配的表格结构为:A列是人员姓名(A2及以下为具体姓名,A1为表头),第1行是日期(B1及右侧为具体日期),数值区域为B2及右下角的所有匹配单元格,你可以根据实际表格范围调整公式里的对应参数。
获取最大总和数值
在空白单元格输入以下公式即可返回指定日期范围内的最大行总和:
=MAX(BYROW(FILTER(B2:Z, B1:Z1>=F1, B1:Z1<=G1), LAMBDA(row, SUM(row))))
公式逻辑:先通过FILTER筛选出符合日期范围的所有数值列,再用BYROW逐行计算筛选后区域的每行总和,最后用MAX提取最大值。
获取对应最大值的人员姓名
在另一空白单元格输入以下公式即可返回总和最高的人员姓名:
=INDEX(A2:A, MATCH(MAX(BYROW(FILTER(B2:Z, B1:Z1>=F1, B1:Z1<=G1), LAMBDA(row, SUM(row)))), BYROW(FILTER(B2:Z, B1:Z1>=F1, B1:Z1<=G1), LAMBDA(row, SUM(row))), 0))
如果存在多名人员总和相同且均为最大值的情况,上述公式会返回第一个出现的人员姓名。如果需要返回所有符合条件的人员,可替换为以下公式:
=FILTER(A2:A, BYROW(FILTER(B2:Z, B1:Z1>=F1, B1:Z1<=G1), LAMBDA(row, SUM(row)))=MAX(BYROW(FILTER(B2:Z, B1:Z1>=F1, B1:Z1<=G1), LAMBDA(row, SUM(row)))))
参数调整说明
根据你的实际表格范围修改公式内的对应区域即可:
- 将
B2:Z替换为实际的数值存放区域 - 将
B1:Z1替换为实际的日期行区域 - 将
A2:A替换为实际的姓名列区域 - 将
F1、G1替换为你实际存放起止日期的单元格位置
内容的提问来源于stack exchange,提问作者Newman Hard
相关产品推荐
相关产品推荐

