SMALL函数怎样找出数据中第N小的值?_数据筛选【技巧】

云丽小哥_8887

云丽小哥_8887

2026-05-10

181人浏览

原创

small函数提取第n小值需确保数据区域为数值且k为1至有效数值个数间的正整数;可直接输入公式、结合row动态生成序列、嵌套if条件筛选,或用aggregate忽略错误值。

small函数怎样找出数据中第n小的值?_数据筛选【技巧】

如果您在Excel中需要从一组数值中精确提取第N小的数值,但不确定如何正确设置SMALL函数参数或避免常见错误,则可能是由于参数格式不匹配、区域引用不当或k值超出有效范围所致。以下是解决此问题的步骤:

一、确认数据区域与k值的有效性

SMALL函数要求输入的数据区域必须为数值型数组或连续单元格区域,且k必须为正整数,且不能大于该区域中实际包含的数值个数。若k≤0或k超过数值个数,函数将返回#NUM!错误。

1、选中目标数据列(如A2:A15),检查是否全部为数值,剔除空单元格、文本或错误值。

2、使用COUNT函数统计有效数值个数:在空白单元格输入=COUNT(A2:A15),确认返回值n。

3、确保所设k值满足1 ≤ k ≤ n,例如n=12时,k可取1至12之间的整数。

二、直接输入SMALL公式定位第N小值

该方法适用于已知确切k值且仅需单次提取的场景。函数将按升序排列所有数值后,返回对应位置的值,不改变原始数据顺序。

1、在空白单元格中输入公式:=SMALL(A2:A15,3)(以提取第3小值为例)。

2、按Enter键,确认结果是否为区域内第三小的数值(如数据含{5,12,3,9,1},升序为{1,3,5,9,12},则SMALL(...,3)返回5)。

3、若需批量提取前N个最小值,可在相邻列依次修改k值,如C1输入=SMALL($A$2:$A$15,1),C2输入=SMALL($A$2:$A$15,2),依此类推。

三、结合ROW函数动态生成连续k序列

当需自动填充第1小、第2小……第N小值形成升序列表时,利用ROW函数可避免手动修改k值,提升效率并支持后续数据更新自动重算。

1、在首个目标单元格(如B2)输入公式:=SMALL($A$2:$A$15,ROW(A1))。

2、按下Enter键,此时ROW(A1)返回1,等效于SMALL(...,1)。

3、选中B2单元格,将填充柄向下拖拽至B10,公式自动变为=SMALL($A$2:$A$15,ROW(A2))、=SMALL($A$2:$A$15,ROW(A3))……依次返回第1至第9小值。

四、嵌套IF与数组运算实现条件筛选下的第N小值

当原始数据需满足特定条件(如仅统计“类别=销售”的数值中第N小值)时,单纯SMALL无法过滤,须配合逻辑判断构造内存数组。

1、假设A2:A20为类别列,B2:B20为数值列,需提取“销售”类别的第2小值。

2、在空白单元格输入数组公式(Excel 365/2021可直接回车;旧版需Ctrl+Shift+Enter):=SMALL(IF(A2:A20="销售",B2:B20),2)。

3、公式中IF生成符合条件的数值子集,SMALL再从中提取第2小值,非匹配项被忽略为FALSE,不影响排序。

五、使用AGGREGATE函数替代SMALL规避错误干扰

当数据区域可能含错误值(如#N/A、#DIV/0!)时,SMALL会直接报错;AGGREGATE函数具备错误忽略能力,是更鲁棒的替代方案。

1、在空白单元格输入:=AGGREGATE(15,6,B2:B15,3)。

2、其中15代表SMALL功能,6表示忽略错误值和隐藏行,B2:B15为数值区域,3为k值。

3、该公式即使B列存在#N/A,仍可正常返回第3小的有效数值。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
FrankenPHP集成Laravel详细教程
FrankenPHP集成Laravel详细教程

本专题提供FrankenPHP集成Laravel的详细配置指南,全面解析运行原理、开发环境搭建、Caddyfile配置、Octane工作模式、数据库连接、队列任务、定时任务和生产环境优化,解决部署过程中常见的报错与兼容性问题。

2026.10.08

40

20

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

140

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

140

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

100

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

100

26

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

2026.09.29

120

15

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

2026.09.23

320

15

Buffalo框架路由与请求处理实操指南
Buffalo框架路由与请求处理实操指南

本专题讲解Buffalo框架路由与请求处理机制,涵盖路由注册与分组、资源路由、Handler编写规范、Context上下文方法、参数绑定、中间件编写挂载、Session与Cookie读写、Flash消息及错误页面定制方法。

2026.09.23

220

15

Buffalo框架零基础入门教程
Buffalo框架零基础入门教程

本专题整理Buffalo框架入门内容,涵盖Go环境准备、buffalo CLI安装、新项目生成、目录结构说明、dev热加载启动、数据库连接配置与常见报错排查,帮助新手按约定优于配置的思路跑通第一个Buffalo框架应用。

2026.09.23

180

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习