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 ...
随机推荐
- 非对称加密与HTTPS(转)
序:HTTPS更安全,为什么? 因为HTTP协议本身毫无安全性可言. 当你访问一个纯HTTP的网站(以及与这个网站有任何网络交互)时,你发出去一个请求.在这个请求到达网站服务器的路途上,不管是你家的路 ...
- JavaScript学习系列博客_26_JavaScript 数组的一些方法
数组的一些方法 - push() - 用来向数组的末尾添加一个或多个元素,并返回数组新的长度 - 语法:数组.push(元素1,元素2,元素N) - pop() - 用来删除数组的最后一个元素,并返回 ...
- FastStone Capture注册破解码
原文链接:https://blog.csdn.net/lxq_9532/article/details/82893170 faststone-capture下载链接: https://en.softo ...
- Shell脚本最佳实践
Shell脚本最佳实践 0. 编码.缩进.文件命名和权限设置等 使用utf-8编码: 统一使用tab缩进或空格缩进,不要混用: 文件名以.sh结尾,并且统一风格: 添加可执行权限: chmod +x ...
- vue项目中遇到的问题(包含兼容性问题)
一.由于懒加载,使用elementUI里面的dialog的时候dialog还未被渲染成DOM元素,调用清空表单验证的方法会报错this.$refs[formName].resetFields(); 解 ...
- 复制一个Python全部环境到另一个环境
导出此环境下安装的包的版本信息清单 pip freeze > requirements.txt 联网,下载清单中的包到all-packet文件夹 [root@localhost ~]# p ...
- The Data Warehouse Toolkit 阅读笔记
前言 这篇笔记的主要内容来至于The Data Warehouse Toolkit,该书可以称为数仓建模的圣经 什么是星型模型 以一个业务实时为主表.比如一笔订单就是一个业务事实.订单有商品的SKU信 ...
- 游戏UI系统设计
1.需要实现的功能 UI界面的管理(窗体加载.窗体显示.窗体隐藏.窗体销毁等) UI分层次(比如弹窗.广播信息需要在上层) UI界面的出场.入场动画 UI界面的显示效果(比如带透明背景.带高斯模糊背景 ...
- python小白入门基础(一:注释)
# 注释:就是对代码的解释,方便大家阅读代码.注释后的代码程序不会执行.# 注释的分类:单行注释和多行注释# (1)单行注释# 在代码前面加个#字符print("hello world&qu ...
- Educational Codeforces Round 68 (Rated for Div. 2)-C-From S To T
You are given three strings ss, tt and pp consisting of lowercase Latin letters. You may perform any ...