excel中对比两个sheet,找出匹配不上的
2013-09-30 11:13
239 查看
问题描述:数据的特点是,在同一个excel文件中存在两个sheet,他们的数据结构是一样的,其中一个中的数据是另一个的子集,目的是要找出他们的不同,即找出在那张大些的sheet中存在,但在那张小些的sheet中不存在的记录(行),并把它保存到第三个sheet或某个sheet的其他空白地方
方法1:使用excel中的函数match来进行匹配,其中参数需要使用绝对引用。匹配完成后再用if来筛选。原理如下:把sheet1中的每一个值在sheet2中查找一遍,lookup_value设为sheet1中待查找的一个单元格,lookup_array设为sheet2中包含有sheet1的重复数据的区域(一定为绝对引用才行),match_type设为0.在sheet1中的一个单元格写好后使用自动填充.再采用if语句进行判断match成功与否,而赋予单元格不同的值.再使用筛选,选出match failed的记录
函数:match(look_value,look_array,[match_type])
if(logic_test,[value_if_true],[value_if_false]) #此处的logic_test可以使用相关子函数来判断,如是否为#N/A --- ISNA(A1)
=MATCH(sheet1!A:A,sheet2!A:A,0) #得到的结果表示对应的行号
=IF(ISNA(D2),"不存在","存在")
方法2:写perl脚本来完成数据匹配与表格填充。仅为练手,待补充。此问题使用方法1足矣。
本文出自 “奔跑的羚羊” 博客,请务必保留此出处http://heshw.blog.51cto.com/5891747/1303722
方法1:使用excel中的函数match来进行匹配,其中参数需要使用绝对引用。匹配完成后再用if来筛选。原理如下:把sheet1中的每一个值在sheet2中查找一遍,lookup_value设为sheet1中待查找的一个单元格,lookup_array设为sheet2中包含有sheet1的重复数据的区域(一定为绝对引用才行),match_type设为0.在sheet1中的一个单元格写好后使用自动填充.再采用if语句进行判断match成功与否,而赋予单元格不同的值.再使用筛选,选出match failed的记录
函数:match(look_value,look_array,[match_type])
if(logic_test,[value_if_true],[value_if_false]) #此处的logic_test可以使用相关子函数来判断,如是否为#N/A --- ISNA(A1)
=MATCH(sheet1!A:A,sheet2!A:A,0) #得到的结果表示对应的行号
=IF(ISNA(D2),"不存在","存在")
match | 修改后的数据对比 |
158 | 存在 |
96 | 存在 |
96 | 存在 |
本文出自 “奔跑的羚羊” 博客,请务必保留此出处http://heshw.blog.51cto.com/5891747/1303722
相关文章推荐
- Tracert 工作原理
- 五年后你在干嘛?
- 火狐浏览器不能自动适应(撑开)背景的解决方法
- python的nltk中文使用和学习资料汇总帮你入门提高
- 金融基础知识
- 关于禁止程序重复启动的另一种需要与实现
- 正确理解ContentPresenter
- 填报表用ajax实现关联单元格自动填充
- unity IEnumerator 协同程序
- 教你如何用路由器连接网页登陆式校园网(by liukun321 咕唧咕唧)
- ubuntu之Awk使用详解
- 用户卡的发展变革(二)
- Delphi XE2 新增 System.Zip 单元, 可用一句话压缩整个文件夹了
- leetcode:Palindrome Partitioning (字符串分割成回文串的所有方式) 【面试算法题】
- perl写日志
- 【算法刷题】poj 2192 Zipper
- Win7 windows凭证无法保存密码的解决方法
- Singleton设计模式的一种见解
- Oracle 11G函数整理(日期函数)
- 代码段(.text段)太长的解决办法