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

如何在Google Sheets中按季提取最高/最低评分的剧集名称?

解决Google Sheets中按季获取《南方公园》评分极值剧集的问题

前提假设

假设你的剧集数据存储在Sheet1,列结构如下:

  • A列:季数(数值/文本型均可)
  • B列:集数
  • C列:剧集名
  • D列:个人评分(数值型)
  • E列:IMDB平均评分(数值型)

统计表位于Sheet2,用于展示各季的评分极值剧集,A列为季数,B~E列分别对应「个人评分最高剧集」「个人评分最低剧集」「IMDB评分最高剧集」「IMDB评分最低剧集」。

核心公式(支持同评分多剧集合并)

1. 自动生成所有季数

在Sheet2!A2输入以下公式,自动提取所有不重复的季数:

=ARRAYFORMULA(UNIQUE(Sheet1!A:A))

2. 个人评分最高剧集(Sheet2!B2,下拉填充)

=TEXTJOIN("、", TRUE, FILTER(Sheet1!C:C, (Sheet1!A:A=Sheet2!A2)*(Sheet1!D:D=MAX(FILTER(Sheet1!D:D, Sheet1!A:A=Sheet2!A2)))))

逻辑:先筛选当前季的所有个人评分并取最大值,再匹配该季中评分等于最大值的所有剧集名,最后用「、」合并多结果。

3. 个人评分最低剧集(Sheet2!C2,下拉填充)

=TEXTJOIN("、", TRUE, FILTER(Sheet1!C:C, (Sheet1!A:A=Sheet2!A2)*(Sheet1!D:D=MIN(FILTER(Sheet1!D:D, Sheet1!A:A=Sheet2!A2)))))

4. IMDB评分最高剧集(Sheet2!D2,下拉填充)

=TEXTJOIN("、", TRUE, FILTER(Sheet1!C:C, (Sheet1!A:A=Sheet2!A2)*(Sheet1!E:E=MAX(FILTER(Sheet1!E:E, Sheet1!A:A=Sheet2!A2)))))

5. IMDB评分最低剧集(Sheet2!E2,下拉填充)

=TEXTJOIN("、", TRUE, FILTER(Sheet1!C:C, (Sheet1!A:A=Sheet2!A2)*(Sheet1!E:E=MIN(FILTER(Sheet1!E:E, Sheet1!A:A=Sheet2!A2)))))

扩展:显示集数+剧集名格式

如果需要结果呈现「集数 - 剧集名」的样式,修改FILTER范围即可,以个人评分最高为例:

=TEXTJOIN("、", TRUE, ARRAYFORMULA(FILTER(Sheet1!B:B&" - "&Sheet1!C:C, (Sheet1!A:A=Sheet2!A2)*(Sheet1!D:D=MAX(FILTER(Sheet1!D:D, Sheet1!A:A=Sheet2!A2))))))

关于Query函数失效的原因

Query的聚合逻辑(如MAX())默认仅返回极值数值,无法直接关联对应剧集名;且遇到同评分多剧集时,Query只会返回第一条匹配结果,无法自动合并所有符合条件的条目,因此FILTER+TEXTJOIN的组合更适配你的需求。

注意事项

  • 确保评分列(D、E列)为数值格式,否则MAX()/MIN()无法正确计算。
  • 若季数是文本型(如「S01」),公式无需修改即可正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 17:40:28