如何为FILTER公式设置行上限,提取每人最多2条成绩?
提取每人最近2条记录的FILTER公式修改方案
因为你的数据集已经按时间降序排列,只需在原FILTER公式基础上增加限制返回行数的逻辑即可实现需求,以下是两种适用不同Excel版本的方案:
适用于Excel 365/2021(支持动态数组)
直接用TAKE函数截取FILTER结果的前2条:=TAKE(FILTER(A:C,B:B=B1),2)原理:
FILTER返回该人员的所有成绩记录(保持原表降序),TAKE直接提取前2条,也就是最近的两条记录。适用于旧版Excel(无动态数组支持)
使用INDEX+SMALL+IF组合实现,需按Ctrl+Shift+Enter作为数组公式输入:=INDEX(A:C,SMALL(IF(B:B=B1,ROW(B:B)),ROW(1:2)),COLUMN(A:C))原理:
IF筛选出对应人员的所有行号,SMALL取前2个最小的行号(对应原表中靠前的记录,也就是最近的),最后通过INDEX提取对应行列的内容。
内容的提问来源于stack exchange,提问作者Huuked Fishing
相关产品推荐
相关产品推荐

