博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Excel——使用INDEX和SMALL实现条件筛选
阅读量:6292 次
发布时间:2019-06-22

本文共 1031 字,大约阅读时间需要 3 分钟。

如下图所示,如何实现Excel自带的筛选功能呢?(对的,就是软件自带的功能)

如何实现:

B13的公式:=IFERROR(INDEX(B:B,SMALL(IF(A$1:A$10=B$12,ROW($1:$10)),ROW(A1))),"")

C13的公式:=IFERROR(INDEX(C:C,SMALL(IF(A$1:A$10=B$12,ROW($1:$10)),ROW(A1))),"")


一、对B12设置数据有效性:

先设置数据源F12:F15,包含所有类别的问题

设置有效性条件为序列,来源为F12:F15


二、设计虚拟数值

C2位置:=ROUND(RAND()*100,0)

RAND()返回0~1的随机数;

ROUND,对数值进行四舍五入。


三、筛选对应的行数

=IF(A$1:A$10=B$12,ROW($1:$10))

如果故障类型一列中有与筛选项目相同的内容,返回其行数。如下图所示:

注意:先选中F1:F10,输入公式后,按住Ctrl+Shift,敲击Enter。不能先按住Ctrl+Shift,敲击Enter,再向下填充。


四、将行数列以升序返回有效数值

=SMALL(IF(A$1:A$10=B$12,ROW($1:$10)),ROW(A1))

以升序返回数据列的有效数字。如下图所示:

注意:先在F1中输入函数后,按住Ctrl+Shift,敲击Enter后,向下填充。与上面的输入方法不同。


五、返回对应行数的机型

=INDEX(B:B,SMALL(IF(A$1:A$10=B$12,ROW($1:$10)),ROW(A1)))

返回B列中对应行数的单元格内容。

注意:与上面一样,先在F1中输入函数后,按住Ctrl+Shift,敲击Enter后,向下填充。


六、使用IFERROR解决错误值的显示问题。

=IFERROR(INDEX(B:B,SMALL(IF(A$1:A$10=B$12,ROW($1:$10)),ROW(A1))),"")

注意:与上面一样,先在F1中输入函数后,按住Ctrl+Shift,敲击Enter后,向下填充。


七、数目一列,原理与故障类别一致,将B列改为C列即可。

=IFERROR(INDEX(C:C,SMALL(IF(A$1:A$10=B$12,ROW($1:$10)),ROW(A1))),"")

转载于:https://www.cnblogs.com/shadrach/p/7421668.html

你可能感兴趣的文章
机器学习算法:朴素贝叶斯
查看>>
小五思科技术学习笔记之扩展访问列表
查看>>
使用Python脚本检验文件系统数据完整性
查看>>
使用MDT部署Windows Server 2003 R2
查看>>
Redhat as5安装Mysql5.0.28
查看>>
通过TMG发布ActiveSync
查看>>
Web服务器的配置与管理(4) 配置访问权限和安全
查看>>
ClientScriptManager与ScriptManager向客户端注册脚本的区别
查看>>
js和php中几种生成验证码的方式
查看>>
android UI进阶之仿iphone的tab效果1
查看>>
这是我的第1个C#程序(向控制台输出一句话)
查看>>
html
查看>>
Xqk.Data数据框架开发指南:丰富的、灵活的查询方法(第三部分:SqlField)
查看>>
工作第十五周:上线前的惊悚
查看>>
Java获取EXE文件图标的方法
查看>>
深入解析Django Admin模块
查看>>
SQL Server死锁详解
查看>>
电影剧本写作基础
查看>>
7.11 计算机基础
查看>>
虚拟机 liunx系统以 root 身份登录权限
查看>>