java条件查询excel_[转]EXCEL中的多条件查询(整理)
在EXCEL里面有多个方法可以完成多条件查询,先来了解合并数组这个概念:
如果Sheet2是这样的:
A ,B ,C
张三,一月,90
张三,二月,85
张三,三月,95
那么If({1,0},Sheet2!A1:A3&Sheet2!B1:B3,Sheet2!C1:C3)就是:
张三一月,90
张三二月,85
张三三月,95
也可以用Choosen({1,2},Sheet2!A1:A3&Sheet2!B1:B3,Sheet2!C1:C3),结果相同。现在就可以用vlookup来进行多条件查询了:
{=vlookup(A1&B1,If({1,0},Sheet2!A1:A3&Sheet2!B1:B3,Sheet2!C1:C3),2,false)}
还可以用sum函数直线多条件合计功能:
{=sum((Sheet2!A1:A3=A1)*(Sheet2!B1:B3=B1)*Sheet2!C1:C3)}
这个功能也很有意思,另外还可以用index+match来解决,有一个值得一提的小技巧是,对于长的公式需要同时按Ctrl+Shift+Enter来给单元内容加上{}
在理解上述公式之前需要理解if({1,0},......)公式的含义,见下:
IF({1,0},……)公式的解释
把它分解为一块一块,把相关的知识一一弄明白,合起来一定能明白。
1、IF(条件,返回值1,返回值2)
首先你要弄懂这个函数,如果条件为真,函数的结果为“返回值1”,如果条件为假,函数的结果是“返回值2”:
if(true,10,100)=10
if(1,"A","B")="A"
if(false,20,30)=30
if(0,"你","我")="我"
2、{1,2,3,4}是一个数组,一个数组能存储多个数值,数组的表示方式是{}。
{1,0}是个水平数组,它有两个值,一个是1,另一个是0。
{"张三","李四","王五"}也是一个水平数组,它有三个值。
3、连接符&也是这个公式中的一个知识点。
"A" & "B" & "C"="ABC"
"Aaa"&"Bcd"&"123"="AaaBcd123"
字符串可以连接,数组也可以连接:
{1,2,3}&{"A","B","C"}={"1A","2B","3C"}
单元格区域也可以连接:
假如A1:A10的数据为1到10,B1:B10的数据为a到j。
A1:A10&B1:B10的结果就是
1a
2b
3c
...
10j
再看个实际点的例子:
4、再回过来说IF()函数
当条件是一个单变量时,总代表true和false,即“真”和“假”,它总是返回两个值当中的一个。
但是
但是,当条件不是单变量,而是一个数组时,当条件为{1,0}时,结果如何呢?
记住,返回的结果与条件一样,是个数组,而且,与条件数组的列数相同。
课堂上,老师说:同学们好,我们来做个游戏,当老师举起左手的时候,你说“语文”,当老师举起右手的时候,你说100,清楚了没有?同学们都说清楚了,于是:
老师举起左手,一同学回答“语文”:If(左手,"语文",100)="语文"
老师的话隐含了一层意思,左手为真,右手为假,左手为1,右手为0:If(1,"语文",100)="语文"
接下去的游戏自然还有:If(右手,"语文",100)=100
即 If(0,"语文",100)=100
轮到第三个同学了,老师把两只手都举了起来,那么这同学怎么回答?
也许这位同学会说“老师,你有病?”当然,我更希望这位同学能回答:“语文”,100。
不是么:IF({左手,右手},"语文",100)={"语文",100}
前面提过,左手是真,右手是假,写标准点,就是:
IF({true,false},"语文",100)={"语文",100}
也是:IF({1,0},"语文",100)={"语文",100}
你糊涂了吗?
没有?
没有就好。别钻牛角尖,这个比方打得可能不太合适。
接着,老师还会把游戏继续做下去,再把规则改一改:老师举左手的时候,回答科目,举右手的时候,回答成绩。
老师举起左手,同学D回答:语文、数学、英语、计算机
老师举起右手,同学E回答:100、90、95、80
这时,老师把左右手都举了起来,老师说,如果懂了,请正确说出结果。
于是,有同学回答:"语文",100;"数学",90;"英语",95;"计算机",80
老师满意极了。
用我们熟悉的方式表现出来,就是:
=IF({1,0},科目,成绩)={"语文",100;"数学",90;"英语",95;"计算机",80}
java条件查询excel_[转]EXCEL中的多条件查询(整理)相关推荐
- vba搜索java里面的sql_在EXCEL中使用SQL语句查询集锦-持续更新中,敬请关注
StrA = "" StrA = StrA & " SELECT YEAR(日期) AS 年份" StrA = StrA & ",工地 ...
- excil mysql查询 条件_excel多条件查找 Excel中实现多条件查找的15种方法
excel多条件查找 Excel中实现多条件查找的15种方法,平凡的世界平凡的你,努力学习使我们变得不平凡,今天要介绍的知识是excel多条件查找的相关知识,你准备好学习excel多条件查找 Exce ...
- excel切片器显示错误_使用切片器在Excel中设置过滤条件
excel切片器显示错误 In most cases, it's best if you keep people away from your data in Excel. It's too easy ...
- Java利用Apace POI读取Excel中数据
Java利用Apace POI读取Excel中数据,解析数据 @Testpublic void readExcel() throws IOException{FileSystemView fsv = ...
- R中如何实现excel中vlookup多条件匹配
R中如何实现excel中vlookup多条件匹配 在excel中vlookup函数一般只能用一个条件进行数据匹配若要多个条件一是构建辅助列,二是采用if{1,0}加上&.那么在R中我们应该如何 ...
- mql 查询多结果_一篇文章带你全面掌握Excel中的各种数据查询知识与技巧
数据查询是Excel数据处理中的一项核心业务,也是日常办公中使用频率非常高的一项操作.数据查询业务需求多,而且具有较强的技巧性,因此它也是职场必学的一门技能. 本篇文章从最基本的数据查询的概念讲起,逐 ...
- 查询添加条件_从文件夹中提取符合条件的记录,只需一键
小伙伴们好啊,今天老祝要和大家分享一个实用的数据查询技巧.要根据指定的关键字,从文件夹中动态提取出全部记录. 先来看数据源,在快递寄送信息表的文件夹中,存放了多个结构一致的工作簿: 打开一个工作簿看看 ...
- 在Excel中使用SQL语句查询和筛选
本文转自:http://blog.sina.com.cn/s/blog_5fc375650102e1g5.html 今天在微博上看到@数据分析精选 分享的一篇文章,是关于<在Excel中使用SQ ...
- java 向已存在的excel中追加数据 .
所需要的poi的jar包 import java.io.FileInputStream; import java.io.FileOutputStream; import org.apache.poi. ...
最新文章
- 大巧不工-WEB前端设计修炼之道pdf
- iOS中的UIView
- c# 使用TCP连接(server)
- Linux中screen的用法
- java线程创建方式_Java创建线程安全的方法
- 一个成绩表 该关系模式的外键_MySQL表之间的关系
- 机器学习—XGBoost常见问题解析
- Word——如何固定文章中的公式
- Spring Bean前置后置处理器的使用
- 手机网页版JS压缩上传图片--base64位 兼容IOS和安卓
- Jenkins版本升级指南
- python中的map什么意思啊_python中的map怎么使用(方法详解)
- 05-Spring反转控制IOC 与 依赖注入DI概念
- php网盘 共享 直链,PHP比较简单的百度网盘文件直链的实现方法
- hadoop常用命令及端口
- 分享 :准备数据时如何避免数据泄漏
- Python模糊控制库使用(基本操作与仿真结果3D显示)
- 解密Kotlin 1.6.20 新功能 Context Receivers
- 1.4_18 Axure RP 9 for mac 高保真原型图 - 案例17 【js-echarts官网】
- 渡一教育公开课web前端开发JavaScript精英课学习笔记(三)条件语句,循环语句
热门文章
- W3C HTML 工作组联合主席Paul Cotton谈HTML5发展愿景
- IP 管理,几多欣喜几多忧
- 中国国产万亿次高性能计算机向产业化迈进
- 在.Net程序中使用log4net记录日志(示例)
- lisp提取长方形坐标_求修改lisp程序,如何提取CAD中多个点的坐标,(本人想提取UCS坐标系)另外只需要提取X,Y值,不要Z...
- 在计算机术语中常用byte表示,2016年计算机一级MS Office上机考试题
- java中的随机生成算法_Java生成随机时间的简单随机算法
- Java基础-集合:set
- 怎么用python生成随机数
- 为什么我在gpu上训练模型但是gpu利用率为0且运行速度还是很慢?