excel中怎样用一列数据筛选另一列数据?
1 张一 21 2 张蓉
2 李二 22 1 张三
3 张蓉 23 2 李二
4 谢世 23 1 王五
怎样将A列与D列中相同的选出来,并且BC列中的数据也要与筛选出来的A列相对应。(相当于D列是条件,如果A列中数据等于D列,就把相应的数据提取到另外的区域) 展开
方法:
选中原始数据区域(包含表头),然后点击【数据】-【筛选】。
这时按Ctrl+Z,或点“撤消”按钮,再次选择D2单元格进行粘贴,就会将复制的内容粘贴到D列所有可见单元格。可以看到,取消筛选后,仅对D列所筛选的单元格进行了替换。
这种方法比较直接,甚至有点奇异,但在Excel 2003和Excel 2007中是确实可行的,遗憾的是该方法不适用于Excel 2010。
方法二:公式法
先对B列进行筛选,然后在D列第二行的单元格(本例为D2)中输入公式:
=E2
然后双击或拖动填充柄将公式填充到D列筛选后的所有可见单元格。取消筛选后,可以看到仅对D列所筛选的单元格进行了填充。但这时所填充的内容为公式,如果要转换为数值,可先取消筛选,再复制D列数据后选择性粘贴为值。
方法三:排序后复制粘贴
1.如果原区域中包含类似“序号”的列,可忽略此步,否则在F列增加一个辅助列“序号”,并用序列数填充。增加该列的目的是为以后可以还原原有的排序顺序。
2.筛选B列数据,然后再次增加一个辅助列。本例增加G列为第二个辅助列,并将该列筛选后的可见单元格全部填充某个数值或字母等,如本例全部用数字“0”填充。
3.取消筛选,将G列按升序排序,让G列所有非空单元格所在的行排列到上方,这时所需替换的数据就排列到一起了。
4.选择E列需要替换的数据复制粘贴到D列对应的单元格 。
5.将“序号”列按升序排序,然后删除F、G列即可。
你好,刚刚自己改了一下然后试了一下,不行,可能我数据太多,有一千多行,十几列。
上面两条公式中,EXCEL有多少行就支持多少行,有多少列就支持多少行,不受限制的。估计是你的实际表格的数据区域跟提问的数据区域不一样,请截图发上来看看啊。
如果是$A:$P,则上面第一条公式改为:
=IF(COUNTIF($A:$A,$D1),VLOOKUP($D1,$A:$P,COLUMN(B1),),"")
第二条公式不用改。公式中的COLUMN(B1)返回数字2,右拉时变为COLUMN(C1)返回数字3。。以此类推。主要是就通过右拉,不断返回数据区域的第2列,第3列,第4列。。。。
=VLOOKUP($D1,$A:$C,COLUMN(B1),)
再将公式右拖、下拉填充。
你好,因为我的数据中列比较多,有十多列,那是应该写$A:$P吗?另外COLUMN(B1)又是什么意思?谢谢
如果数据区域在A列到P列中,查找区域可用$A:$P,但条件列就不可能在D列了。也就是说,第一个参数也应作相应调整。
COLUMN(B1)求B1单元格所在的列数,B1在第2列,所以应显示2。这个结果会随着公式右拖而变化为2、3、4……它作为VLOOKUP的第3个参数,指定查找的结果在查找区域$A:$P的第几列中。