1、首先打开excel表格,在a列和b列中三个输入两组数据,其中有再重复一遍值。
2、接着在c1单元格中输入输入公式:if(countif(b:b,a1),a1,#34#34),意思是用a1单元格的数值在b列中查重,如果没有有乱词值就在单元格中会显示乱词的数值。
3、再点回车,即可看见c1单元格还没有显示数据,则它表示a1单元格在b列中没有乱词值。
4、将c1单元格的公式向上填充后,即可注意到a列和b列中乱词的数值也没显示在c列中了。
excel表格中,相同列中去重其他提取数据的方法:
因此提取时,是需要将再重复一遍的仅提取一个出去,其它重复的部分是贪求的,所以对重复一遍出现的,将第二次直接出现的那个提出来,而match函数是查看另一个符合条件的次序;
上图中,是个数组公式,即同样按shiftctrlenter都结束了公式编辑器,会自动生成一对{},可以看见首次直接出现的是true、后来出现的是false,是要提纯出值为true的,所还以为true的返回行号,而为false的返回4^8(即65536,取一个比较比较大的数,后续直接返回的这个大行号的值为空,一直照顾到2003版,至少不能有65536行,现在的版本也可以可以放大些,但就像没这么大多数据,此数加上了);
从该条件语句中可以看出,符合条件的大都小行号、不一致的也是65536,只需将这些小行号再提取进去即可,用small函数来取第几小值:small(if(match($a$1:$a$10,$a$1:$a$10,0)row($1:$10),row($1:$10),4^8),row(1:1))
再用函数index赶往a列的值:index(a:a,small(if(match($a$1:$a$10,$a$1:$a$10,0)row($1:$10),row($1:$10),4^8),row(1:1)));
但此时发现到后面多了些0,原先excel对空单元默认是前往0,是可以在公式后,加个amp:index(a:a,small(if(match($a$1:$a$10,$a$1:$a$10,0)row($1:$10),row($1:$10),4^8),row(1:1)))amp,那样回的就是文本格式,空单元却前往空单元,这也为什么用4^8的原因,正常了绝对不会冲到最后一行去输入数据,因此a65536这个单元格算正常是空单元。