Google Sheets如何按唯一搜索键汇总多行多列数据计算均值
Google Sheets 匹配员工多条销售记录计算日均销量方案
VLOOKUP本身的产品逻辑就是返回首个匹配项,天然不支持一对多场景下的全量数据提取,不需要硬套这个函数实现需求,根据你的使用场景选下面的方案即可:
- 方案1:单指标快速求平均,用
AVERAGEIF一步完成
如果你只需要计算对应员工的平均销量,不需要提取全量匹配记录做其他计算,这是最高效的写法。假设你的表中A列存储员工姓名,C列存储当日车辆销量,待统计的员工姓名填写在E2单元格,直接输入公式:
公式会自动识别A列所有和E2姓名匹配的行,抓取对应C列的销量值计算平均值,针对你举的Tim的例子,会自动抓取10、9、11三个值,直接返回计算结果10。=AVERAGEIF(A:A, E2, C:C) - 方案2:需提取匹配员工的全量销售记录,用
FILTER实现
如果你需要先把对应员工的所有销售行完整提取出来,后续还要做最高销量、销售天数等其他统计,直接用FILTER即可实现和VLOOKUP接近的匹配逻辑,同时支持返回所有匹配结果。还是以A列存姓名、A到C列是完整销售数据为例,提取Tim全量记录的公式为:
公式会自动溢出展示Tim对应的所有行数据,不会像VLOOKUP一样只返回第一行。如果要直接基于提取结果算平均销量,直接嵌套AVERAGE即可:=FILTER(A:C, A:A="Tim")=AVERAGE(FILTER(C:C, A:A="Tim")) - 方案3:一次性生成所有员工的日均销量统计表,用
QUERY
如果你不需要逐个查询员工,想直接输出全量员工的去重名单+对应日均销量,用QUERY函数可以一步生成结果:
输入后会自动列出所有不重复的员工姓名,同时计算好每个人对应的平均销量,不需要额外手动操作。=QUERY(A:C, "SELECT A, AVG(C) GROUP BY A LABEL AVG(C) '日均销量'")
常见报错处理:如果使用FILTER时返回#N/A,先检查公式下方和右侧的溢出区域有没有残留内容遮挡,清空对应单元格即可;如果要避免查询不存在的员工时报错,可以在外层套
IFERROR做容错,例如=IFERROR(AVERAGE(FILTER(C:C,A:A=E2)),"无匹配销售记录")。
内容的提问来源于stack exchange,提问作者SheetsAsker99
相关产品推荐
相关产品推荐

