需要将筛选区域中的一列数据用另一列进行替换,大概意思就是在筛选结果中将某列复制粘贴到另一列,例如在下图中,要将某些城市对应D列的“数量”用E列的“修正”数据进行替换,为方便查看,E列需替换的数据已用红色进行标识。本例中,由于E列还包含了其他数据,因而不能在筛选前直接进行复制粘贴,另外,由于需替换的“城市”较多,直接对“城市”进行排序后逐一复制粘贴显得有些繁琐。下面有几种较为快捷的方法:

1、筛选后直接复制粘贴(这种方法仅适用于Excel 2003和Excel 2007)
2、公式法
3、选择性粘贴跳过空单元
4、排序后复制粘贴

方法一:筛选后直接复制粘贴

这种方法仅适用于Excel 2003和Excel 2007。方法是先对B列进行筛选,然后复制E列数据,选择D列第二行的单元格(本例为D2)进行粘贴,第一次粘贴时,数据并不是粘贴到了D列所有可见单元格,而是仅粘贴到部分可见单元格,如图为Excel 2007中的结果。

这时按Ctrl+Z,或点“撤消”按钮,再次选择D2单元格进行粘贴,就会将复制的内容粘贴到D列所有可见单元格。可以看到,取消筛选后,仅对D列所筛选的单元格进行了替换。

这种方法比较直接,甚至有点奇异,但在Excel 2003和Excel 2007中是确实可行的,遗憾的是该方法不适用于Excel 2010。

方法二:公式法

先对B列进行筛选,然后在D列第二行的单元格(本例为D2)中输入公式:

=E2

然后双击或拖动填充柄将公式填充到D列筛选后的所有可见单元格。取消筛选后,可以看到仅对D列所筛选的单元格进行了填充。但这时所填充的内容为公式,如果要转换为数值,可先取消筛选,再复制D列数据后选择性粘贴为值。

方法三:选择性粘贴跳过空单元

1.如果需要保留E列数据,可先将E列数据复制到F列,否则跳过这一步。

2.筛选B列,然后选择筛选后的D列数据,按Del键删除。

3.取消筛选,这时数据如下图。

4.复制D列数据,然后右击E2单元格→选择性粘贴,在弹出的对话框中勾选“跳过空单元”后确定。

这时D列所有非空单元格的数据将复制粘贴到E列对应单元格,而空单元格会被忽略。

5.将E列标题改为D列的标题,删除D列。

方法四:排序后复制粘贴

1.如果原区域中包含类似“序号”的列,可忽略此步,否则在F列增加一个辅助列“序号”,并用序列数填充。增加该列的目的是为以后可以还原原有的排序顺序。

2.筛选B列数据,然后再次增加一个辅助列。本例增加G列为第二个辅助列,并将该列筛选后的可见单元格全部填充某个数值或字母等,如本例全部用数字“0”填充。

3.取消筛选,将G列按升序排序,让G列所有非空单元格所在的行排列到上方,这时所需替换的数据就排列到一起了。

4.选择E列需要替换的数据复制粘贴到D列对应的单元格 。

5.将“序号”列按升序排序,然后删除F、G列即可。