You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel中用FILTER函数筛选球员最近指定场次比赛数据的问题

Excel筛选NBA球员最近N场比赛数据解决方案

核心逻辑

要获取最近场次而非最早场次,必须先对目标球员的所有比赛按日期降序排序,再截取前N条记录。需结合FILTER(筛选)、SORTBY(排序)、TAKE(截取)三个函数实现。

基础场景:仅按球员+指定场次筛选

假设原始数据存于Data工作表:

  • E列 = 球员姓名
  • A列 = 比赛日期(需为Excel可识别的日期格式)
  • Z列 = 得分
  • PROPS工作表A2 = 选中球员,B2 = 指定场次(如3/5/10/20)

在PROPS工作表B3单元格输入以下公式(自动溢出填充):

=TAKE(SORTBY(FILTER(Data!A:Z, Data!E:E=PROPS!A2), Data!A:A, -1), PROPS!B2, {1,5,26})

公式拆解:

  1. FILTER(Data!A:Z, Data!E:E=PROPS!A2):筛选出目标球员的所有比赛数据
  2. SORTBY(..., Data!A:A, -1):按比赛日期降序排序(-1代表倒序,最新比赛排首位)
  3. TAKE(..., PROPS!B2, {1,5,26}):截取前B2行,仅保留指定列(示例中1=日期、5=球员、26=得分,可根据实际列号调整)

若仅需提取得分:

=TAKE(SORTBY(FILTER(Data!Z:Z, Data!E:E=PROPS!A2), Data!A:A, -1), PROPS!B2)

进阶场景:结合主客场/对手筛选

1. 筛选最近N场主场比赛

假设H列为主客场标识(如"主"/"客"),添加主客场筛选条件:

=TAKE(SORTBY(FILTER(Data!A:Z, (Data!E:E=PROPS!A2)*(Data!H:H="主")), Data!A:A, -1), PROPS!B2, {1,8,26})

*(Data!H:H="主")实现多条件逻辑:球员匹配 且 为主场

2. 筛选最近N场对阵指定对手的比赛

假设I列为对手球队,PROPS工作表C2为即将交手的对手名称:

=TAKE(SORTBY(FILTER(Data!A:Z, (Data!E:E=PROPS!A2)*(Data!I:I=PROPS!C2)), Data!A:A, -1), PROPS!B2, {1,9,26})

*(Data!I:I=PROPS!C2)实现:球员匹配 且 对手匹配

PROPS工作表B3:E12区域适配

若需固定在B3:E12展示(不足场次时留空),用IFERROR避免错误提示:

=IFERROR(TAKE(SORTBY(FILTER(Data!A:Z, Data!E:E=PROPS!A2), Data!A:A, -1), PROPS!B2, {1,8,9,26}), "")

示例中{1,8,9,26}对应日期、主客场、对手、得分,需根据你的实际列号调整,确保与B3:E12的列对应。

注意事项

  • 确保日期列是Excel可识别的日期格式(非文本),否则排序会失效
  • 若存在同日期多场比赛,可添加第二排序条件(如比赛时间列)确保顺序准确
  • 动态数组公式仅需在B3输入,自动填充至下方和右侧,无需手动下拉/右拉

内容的提问来源于stack exchange,提问作者Eddie Chinea

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 13:33:10