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

Google Sheets:筛选未录入Beta House排课表的学生名单

解决Google Sheets筛选Beta House未排课学生的问题

我来帮你搞定这个需求!你要的是从Roster工作表里挑出所有属于Beta House的学生,同时排除已经在House排课表中出现过的人,还要得到唯一的名单对吧?

先说说你之前用的公式问题:=Unique(Filter(Roster!A:A&A3:A30,Roster!B:B="Beta"))里的Roster!A:A&A3:A30是把整列A和A3:A30的单元格拼接在一起,这完全不是你需要的逻辑,而且没有处理“排除已排课学生”这个核心条件。

正确的公式写法

假设你的House排课表工作表名叫HouseSchedule,且已排课的学生名单在该表的A列(你可以根据实际的表名和列调整),用下面这个公式就能实现需求:

=UNIQUE(FILTER(Roster!A:A, Roster!B:B="Beta", ISNA(MATCH(Roster!A:A, HouseSchedule!A:A, 0))))

公式各部分解释

  • FILTER(Roster!A:A, ...):从Roster表的A列(学生名单)中筛选符合条件的条目
  • Roster!B:B="Beta":第一个筛选条件——只保留House列标记为Beta的学生
  • ISNA(MATCH(Roster!A:A, HouseSchedule!A:A, 0)):第二个关键条件——检查Roster里的学生是否不在House排课表的A列中。MATCH函数会查找学生名在排课表中的位置,找不到就返回#N/A,ISNA函数把这个结果转为TRUE,也就是符合“排除已排课学生”的要求
  • UNIQUE(...):最后对筛选结果去重,确保名单里没有重复的学生

自定义调整说明

如果你的排课表不是叫HouseSchedule,或者学生名单不在A列,直接替换对应的部分就行:
比如排课表叫BetaClassSchedule,学生名单在B列,公式就改成:

=UNIQUE(FILTER(Roster!A:A, Roster!B:B="Beta", ISNA(MATCH(Roster!A:A, BetaClassSchedule!B:B, 0))))

注意事项

  • 确保Roster表和排课表里的学生名字完全匹配(包括大小写、空格、特殊字符),否则MATCH函数会识别不到,导致筛选出错
  • 如果需要同时显示学生的其他信息(比如学号、班级),可以把Roster!A:A改成Roster!A:C这样的范围,FILTER会返回对应的整行数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 09:21:10