Google Sheets:根据单元格值返回指定行数的分组数据
Google Sheets 按指定行数提取姓名分组数据
数据对应区域说明
- 原始姓名列表:
A2:B列(A列存名,B列存姓) - 行数配置表:
D2:F列(D列存名,E列存姓,F列是该姓名需要提取的前X行数量)
核心公式
在目标输出的起始单元格(比如H2)输入以下动态数组公式:
=LET( fullName, A2:A&"|"&B2:B, configName, D2:D&"|"&E2:E, rowCounts, F2:F, grouped, MAP(configName, rowCounts, LAMBDA(name, cnt, FILTER(A2:B, fullName=name, ROW(A2:A)-ROW(A2)+1<=cnt))), result, VSTACK(grouped), IFERROR(result, "") )
公式拆解
fullName:把原始数据的名和姓拼接成唯一标识(用|分隔,避免同名不同姓的混淆)configName:同理拼接配置表里的名和姓,确保和原始数据的标识匹配rowCounts:提取配置表中每个姓名对应的指定行数MAP:逐个遍历配置项,用FILTER筛选出对应姓名分组的前X行数据VSTACK:把每个分组的筛选结果垂直拼接成完整的输出列表IFERROR:处理空值情况,让输出更整洁
内容的提问来源于stack exchange,提问作者averageUsername123
相关产品推荐
相关产品推荐

