Excel—使用if(countif())表达式来筛选两个表格中相同的数据
关注微信公众号:CodingTechWork,一起学习进步。
引言
在线上运维的过程中,遇到一个头疼的事情,有一些合作公司的数据直接从平台上down下来是一个excel,然后发到研发手里去数据库中核对是否存在,怎么办呢?一般死脑筋方法就是使用sql语句select * from tb_name where colume_name="xxx";去核对是否存在该记录,完了,完全陷入到非sql不可的坑了。
在思考如何更好的去比对两堆类型相同的数据时,除了程序员用后端的方法(不管是sql还是写脚本、程序工具类),其实还可以跳出这个思维圈,本文就总结一下如何通过我们日常用到的excel来比对两个数据表,当然我们也要解决表数据转为excel的问题。
sql转excel
方式
我们先要解决一个mysql数据库中的数据如何转出到excel中的问题。
进入到sql命令行选择数据库后,执行:select * from tbl_name into outfile '/home/outfile/test.xls';
问题
我们可能会遇到一个ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement的报错,这个时候可以使用show variables like '%secure%';查看:
mysql> show variables like '%secure%';
+--------------------------+-----------------------+
| Variable_name | Value |
+--------------------------+-----------------------+
| require_secure_transport | OFF |
| secure_auth | ON |
| secure_file_priv | /var/lib/mysql-files/ |
+--------------------------+-----------------------+
3 rows in set (0.01 sec)
所以,我们可以在不修改数据库的权限情况下,选择这个默认路径进行输出:select * from tbl_name into outfile '/var/lib/mysql-files/test.xls';
mysql数据转为excel这个问题解决后,我们就可以安心去解决excel中如何比对两个不同表格中的数据。
表达式
我们先来了解一下今天登场的主角:IF(COUNTIF())表达式。
分解
=IF(COUNTIF(Sheet1!A:A,A1),"T","F")
IF():IF()是条件判断函数;COUNTIF():是统计函数,其中,Sheet1代表的是另一个表格的数据,A:A表示统计区域,A1表示A1单元格的内容。"T":可自定义引号内的文字,是if如果成立,则会在单元格中输出该自定义内容。"F":可自定义引号内的文字,是if如果不成立,则会在单元格中输出该自定义内容。
操作详解
场景说明
假设Sheet1为参考数据,Sheet2为需要比对的数据。比对Sheet2中是否在Sheet2中有相同的数据。


操作步骤
- 填写表达式:
=IF(COUNTIF(Sheet1!A:A,A1),"T","F")并回车。
基准表格数据是在Sheet1中,比对的范围是A:A,单元格是在A1。T表示Sheet2中的这个数据在Sheet1中存在,F表示不存在。

- 下拉比对

结果显示:

注意:
比对结果的描述信息可以自定义

总结
至此,我们就学会如何通过表达式来比对完两个数据表中的数据,是不是很赞?遇到问题的时候,我们不能死教条,一个一个的通过select * from ... ...去核对,这种效率低且单调。我们要学会跳出思维圈,利用一些辅助工具去帮助自己更好的工作,更好的去解决问题。
Excel—使用if(countif())表达式来筛选两个表格中相同的数据的更多相关文章
- Excel中筛选两个表中相同的数据和快速填充一列的公式
将两个工作表放在一个文件中,使用if函数和countif函数判断 =if(判断条件countif(区域,条件),真值,[假值]) 实例 =if(countif(Sheet2!$A$1:$A$44,A2 ...
- 解决读取Excel表格中某列数据为空的问题 c#
解决同一列中“字符串”和“数字”两种格式同时存在,读取时,不能正确显示“字符串”格式的问题:set xlsconn=CreateObject("ADODB.Connection") ...
- python——快速找出两个电子表中数据的差异
最近刚接触python,找点小任务来练练手,希望自己在实践中不断的锻炼自己解决问题的能力. 公司里会有这样的场景:有一张电子表格的内容由两三个部门或者更多的部门用到,这些员工会在维护这些表格中不定期的 ...
- VBA取得EXCEL表格中的行数和列数
VBA取得EXCEL表格中的行数和列数 初学EXCEL宏的童鞋,总是很想知道表格中含有数据的行数和列数,尤其是行数和列数不确定的情况下.这样可以避免很多的错误,并且可以提高效率.但每次用到的时候到网上 ...
- excel比较筛选两列不一样的数据
在excel表中,罗列两列数据,用B列数据与A列比较,筛选出B列中哪些数据不同,并用红色标记出来. 首先选中B列.直接鼠标左键点击B列即可选中."开始"--->&qu ...
- excel表格中如何将内容粘贴到筛选后的可见单元格[转]
默认情况下,筛选后excel表格进行复制粘贴,会贴到隐藏的表格. 可以添加两个辅助列来完成操作:1.在筛选前在表格右边添加"辅助1"列,在第二行输入1,按Ctrl+鼠标左键往下拉到 ...
- javascript 常见数组操作( 1、数组整体元素修改 2、 数组筛选 3、jquery 元素转数组 4、获取两个数组中相同部分或者不同部分 5、数组去重并倒序排序 6、数组排序 7、数组截取slice 8、数组插入、删除splice(需明确位置) 9、数组遍历 10、jQuery根据元素值删除数组元素的方)
主要内容: 1.数组整体元素修改 2. 数组筛选 3.jquery 元素转数组 4.获取两个数组中相同部分或者不同部分 5.数组去重并倒序排序 6.数组排序 7.数组截取slice 8.数组插入.删除 ...
- parents([expr]) 取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。
parents([expr]) 概述 取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素).可以通过一个可选的表达式进行筛选.大理石平台检定规程 参数 exprStringV1.0 用于 ...
- 使用C#表达式树为两个对象的相同属性赋值
//缓存表达式树 private static Dictionary<string, object> objCache = new Dictionary<string, object ...
随机推荐
- Scala的安装和配置
1.Windows下搭建Scala开发环境 1)Scala需要Java运行时库,安装Scala需要首先安装JVM虚拟机并配置好,推荐安装JDK1.8 2)在http://www.scala-lang. ...
- vue-cli的安装及版本查看/更新
vue-cli的安装及版本查看更新 vue-cli安装 npm install vue-cli -g vue-cli的版本查看 vue -V vue-cli的3.0+以后使用的不是vue-cli了,如 ...
- MySQL标识列(自增长列)
#标识列/*又称为自增长列含义:可以不用手动的插入值,系统提供默认的序列值 特点:1.标识列必须和主键搭配吗?不一定,但要求是一个key2.一个表可以有几个标识列?至多一个!3.标识列的类型只能是数值 ...
- pypcap rpm制作
1.下载地址 https://pypi.org/project/pypcap/#history 2.下载后,解压并制作rpm tar -xvf pypcap-1.2.3.tar.gz python s ...
- 新建一个Vue项目
node环境以及vue的安装可查看:https://www.cnblogs.com/renlywen/p/13522869.html 第一步:创建项目 终端输入: vue init webpack d ...
- arduino智能循迹小车代码(三个循迹模块)
#include <Servo.h>int leftMotor1 = 3;int leftMotor2 = 5;int rightMotor1 = 6;int rightMotor2 = ...
- 【转】Echarts自适应
var myChart1 = echarts.init(document.getElementById('chart1')); var option = myChart1.getOption(); w ...
- UnitTest框架的快速构建与运行
我们先来简单介绍一下unittest框架,先上代码: 1.建立结构的文件夹: 注意,上面的文件夹都是package,也就是说你在new新建文件夹的时候不要选directory,而是要选package: ...
- Hihocoder 1116 计算
这题最开始的时候看到线段树吧,没找到好的做法 想了下既然是乘积和 (-) (--) (---) 在脑子里就是这种线条位于各个位置,然后各种长度代表连续的乘积个数 然后把所有情况累加起来,但是并不好算 ...
- sort(桶排序+hash)
题目链接:https://cn.vjudge.net/problem/HDU-1425 注意是多组输入 代码: #include<cstdio> #include<iostream& ...