在Excel中对某区域数据进行筛选后,有时需要将筛选区域中的一列数据用另一列进行替换。例如在下图中,要将某些城市对应D列的“数量”用E列的“修正”数据进行替换,为方便查看,E列需替换的数据已用红色进行标识。本例中,由于E列还包含了其他数据,因而不能在筛选前直接进行复制粘贴,另外,由于需替换的“城市”较多,直接对“城市”进行排序后逐一复制粘贴显得有些繁琐。对于这种情况,可以用下面的几种方法较为快捷。 方法一:筛选后直接复制粘贴 这种方法仅适用于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列即可 |