Excel——使用INDEX和SMALL实现条件筛选
如下图所示,如何实现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))),"")

Excel——使用INDEX和SMALL实现条件筛选的更多相关文章
- Excel多条件筛选、公式填充
接到一个任务,由于数据操作人员不会使用编辑公式进而无法进行相关筛选,所以要我帮忙.好久不碰Excel了,那就试试看吧. 需求是这样子的(这里做了最大化的简化):要求判断条件,男50岁以上,女40岁以上 ...
- python pandas进行条件筛选时出现ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().”
在使用pandas进行条件筛选时,使用了如下的代码: fzd_index=data[(data['实际辐照度']<mi)or(data['实际辐照度']>ma)].index 原本以为,并 ...
- js前端 多条件筛选查询
一.前言 在做项目中,遇到多条件筛选案例.实现完成以后,我将我做的代码分享在这里,希望可以帮助到其他朋友. 二.效果截图 三.实现代码 首先我先类型.类别.职位分成三块来处理,如果传到服务器端的话,就 ...
- Django多条件筛选查询
转自:https://www.jianshu.com/p/a86281df530e Django多条件筛选查询 主模型只存在外键一对多关系 模型设计 # 快捷筛选状态 class Status(mod ...
- Excel删除重复数据及用公式筛选重复项并标记颜色突出显示
当表格记录比较多时,常常会有重复数据,而重复记录往往只希望保存一条,因此需要把多余的删除:在 Excel 中,删除重复数据有两种方法,一种是用"删除重复数据"删除,另一种是用&qu ...
- 织梦CMS实现多条件筛选功能
用织梦实现筛选的功能,其实主要就是运用到了织梦的高级搜索功能,然后用ajax去post替换掉本来的结果就可以了. 其实筛选的话,主要有两个问题需要解决,一个是前台的筛选实现,一个是后台根据前台的点击, ...
- Hbase条件筛选
需求来自于,模糊查找当天的所有记录,并查找对应列的记录数 public static void main(String[] args) throws Exception{ //创建HBase连接 Co ...
- iOS: 悬浮的条件筛选框使用二
一.介绍: 在前面已经介绍了一种条件悬浮框,使用的是tableView的Plain分组样式实现的,因为这是tableView本身就具备的功能,分组悬浮效果.这次我来介绍第二种更加简单的方法,采用两个S ...
- iOS: 悬浮的条件筛选下拉框的使用
1.介绍 app中条件筛选视图是很常用的功能,一般它搭配着tableView的表头悬浮滚动使用,点击按钮时,就会弹出下拉框显示条件,选择一个条件后,下拉框自动隐藏. 2.效果图如下 从中间点击弹出,然 ...
随机推荐
- uboot的启动过程-FDT
uboot的启动过程,省略了汇编部分之后,第一个执行函数是board_init_f(),在uboot/common目录的board_f.c中 board_init_f函数,首先初始化了全局数据 # ...
- HTML基础-------HTML标签(3)
HTML标签(3) 表格 作用:制作一个表格 属性: 标签;table>tr>td(或者th) 语义; table:一个表格 tr:一行 td:一个单元格 th:单元格的表头 captio ...
- CMake与Make最简单直接的区别 [转]
写程序大体步骤为: 1.用编辑器编写源代码,如.c文件. 2.用编译器编译代码生成目标文件,如.o. 3.用链接器连接目标代码生成可执行文件,如.exe. 但如果源文件太多,一个一个编译时就会特别麻烦 ...
- 华硕飞行堡垒fx50 安装ubuntu18.04
决定把我的渣机脱坑 一.制作启动盘 官方下载ubuntu18.04LTS iso文件 [ubuntu官方链接](https://www.ubuntu.com/download/desktop Ultr ...
- Luogu1574 超级数
Luogu1574 超级数 \(n\) 次询问不超过 \(a_i\) 的最大反素数 \(n\leq10^5,\ a_i\leq10^{17}\) 数论 似乎重题 bzoj1053 [HAOI2007] ...
- 基于jQuery实现简单的js模块化
在多人合作完成网页,经常遇到大家的js代码相互影响的问题.现在有许多模块化的前端框架,应该是可以解决这个问题.但本人并非前端开发人员,那些框架都没用过,只对jQuery相对熟悉,就想用jQuery来解 ...
- Swagger 报错 no mapping found for http request with uri [/***/swagger-ui.html] in dispatcherservlet with name '***'
swagger报错: no mapping found for http request with uri [/***/swagger-ui.html] in dispatcherservlet wi ...
- 解决hash冲突的方法
复制粘贴于:https://www.cnblogs.com/wuchaodzxx/p/7396599.html#H1_2 开放地址法(线性探测法.二次探测.伪随机探测) 再哈希法 链地址法 建立公共溢 ...
- 菜鸟学IT之第一次作业
作业的要求来自于:https://www.cnblogs.com/greyzeng/p/9581624.html 反思· 为何要来上课并且认真参与? 在大学中的师生关系? 自我简述题目 心得· 学习态 ...
- C#-之属性(1)
1. 属性定义方式与字段类似,但还包括Set和Get两个访问器,其格式如下: public/private <type> Name { get { return variable: ...