问题描述:数据的特点是,在同一个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)
650) this.width=650;" src="/d/ezdimg/2023021823/4o4klxnwuvv36665.webp" title="]OS(@)M~`T31$[{EKUD{XKV.webp " alt="110724621.webp" data-src="/d/ezdimg/2023021823/gjqdifnwnxc36667.webp">
=MATCH(sheet1!A:A,sheet2!A:A,0) #得到的结果表示对应的行号
=IF(ISNA(D2),"不存在","存在")
方法2:写perl脚本来完成数据匹配与表格填充。仅为练手,待补充。此问题使用方法1足矣。