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

如何提取分类1中Top15非零分数的技术列表?公式问题求助

Excel公式修正:提取分类1前15个非零分不重复技术列表

需求说明

  • 从数据表中提取分类1下的技术名称
  • 仅保留分数>0的项
  • 避免因分数重复导致同一技术名称重复出现(如分数相同的不同技术需分别显示,而非重复返回同一技术)

修正后的公式(适用于Excel 365/2021及以上版本)

=TAKE(SORT(FILTER('Data Sheet'!G2:L126, ('Data Sheet'!K2:K126=1)*('Data Sheet'!L2:L126>0)), 6, -1), 15, 1)

公式拆解

  1. FILTER 筛选:

    • ('Data Sheet'!K2:K126=1):筛选分类为1的行
    • ('Data Sheet'!L2:L126>0):排除分数为0的项
    • 两者相乘实现多条件筛选,返回符合要求的完整行数据(G列到L列)
  2. SORT 排序:

    • 第二个参数6:指定按第6列(即L列,Score)排序
    • 第三个参数-1:按分数降序排列,确保高分技术排在前面
  3. TAKE 提取结果:

    • 第一个参数15:提取前15行数据
    • 第二个参数1:仅提取第1列(即G列,Technologies),得到最终的技术名称列表

原公式错误分析

  1. SORT 参数误用:原公式中SORT的第二个参数写为15,这是无效的——SORT的第二个参数应为排序依据的列索引,而非行数
  2. 未排除0分:原公式的LARGE函数未过滤0分,可能导致0分项被纳入排名筛选范围
  3. 重复技术问题:原Index+Match方案因MATCH默认返回第一个匹配分数的技术,导致分数相同时重复返回同一技术;修正后的公式通过先筛选再排序提取,会保留所有分数相同的不同技术

额外优化:处理重复技术名称

如果数据表中存在同名技术(同一名称对应多条记录),需确保每个技术仅出现一次,可加入UNIQUE函数:

=TAKE(SORT(UNIQUE(FILTER('Data Sheet'!G2:L126, ('Data Sheet'!K2:K126=1)*('Data Sheet'!L2:L126>0))), 6, -1), 15, 1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 09:42:05