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

Excel 2016获取最低三项计数对应名称(含重复值)的公式实现

解决Excel 2016中提取最小计数的唯一姓名问题

我之前处理过类似的场景,在没有SORT函数的Excel 2016里,要避开重复计数导致的重复姓名,核心思路是给重复的计数添加微小的唯一偏移量,让SMALL函数能区分开相同的数值,同时不改变原有的排序逻辑。

具体实现方法

1. 单个提取姓名

要分别提取第1、2、3个最小计数对应的姓名,用以下公式即可:

  • 第一个最小姓名:
    =INDEX($A$2:$A$11,MATCH(SMALL($B$2:$B$11+(ROW($B$2:$B$11)-ROW($B$2)+1)/10000,1),$B$2:$B$11+(ROW($B$2:$B$11)-ROW($B$2)+1)/10000,0))
    
  • 第二个最小姓名:
    =INDEX($A$2:$A$11,MATCH(SMALL($B$2:$B$11+(ROW($B$2:$B$11)-ROW($B$2)+1)/10000,2),$B$2:$B$11+(ROW($B$2:$B$11)-ROW($B$2)+1)/10000,0))
    
  • 第三个最小姓名:
    =INDEX($A$2:$A$11,MATCH(SMALL($B$2:$B$11+(ROW($B$2:$B$11)-ROW($B$2)+1)/10000,3),$B$2:$B$11+(ROW($B$2:$B$11)-ROW($B$2)+1)/10000,0))
    

公式核心原理

(ROW($B$2:$B$11)-ROW($B$2)+1)/10000 这部分是关键:

  • 它给每一行的计数添加了一个从0.0001开始的递增微小值(行号越靠后,偏移量越大)
  • 这个偏移量足够小,完全不会改变原计数的大小排序(比如原计数是5,加0.0001后还是远小于6)
  • 但能让重复的计数变成唯一的数值,这样SMALL就能依次取到不同的“带偏移计数”,MATCH也能找到对应的唯一行,避免返回重复姓名。

2. 一步合并为目标格式

如果要直接得到类似Wiley, Ruby, Sara的合并结果,可以用Excel 2016支持的TEXTJOIN函数,一次性提取三个姓名并拼接:

=TEXTJOIN(", ",TRUE,INDEX($A$2:$A$11,MATCH(SMALL($B$2:$B$11+(ROW($B$2:$B$11)-ROW($B$2)+1)/10000,{1,2,3}),$B$2:$B$11+(ROW($B$2:$B$11)-ROW($B$2)+1)/10000,0)))
  • {1,2,3}是数组常量,让SMALL一次性提取前3个带偏移的最小数值
  • TEXTJOIN(", ",TRUE,...)用逗号分隔结果,TRUE表示忽略空值

注意事项

  • 如果你的计数列是小数,把偏移量的分母改大(比如100000),确保偏移量小于原数据的最小间隔,避免影响排序
  • 如果你想按重复计数的出现顺序提取,也可以把偏移量换成COUNTIF($B$2:$B2,$B$2:$B11)/10000,这样相同计数的行按首次出现的顺序被选中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:04:41