Excel利用公式批量针对行删除重复内容
数据有几万条,每行的数据有重复的,想针对每行数据删除重复值,保留最前面的数值;(其他行重复的不管,只针对每行的重复值删除就可以,菜单里删除重复项对我的需求不能能实现)所以...
数据有几万条,每行的数据有重复的,想针对每行数据删除重复值,保留最前面的数值;(其他行重复的不管,只针对每行的重复值删除就可以,菜单里删除重复项对我的需求不能能实现)所以只能用公式实现吧1、只需要删除针对每行重复的数值,其他行数值不针对作为重复2、每行数值不是唯一数值,还存在其他不一样的数值
展开
2个回答
展开全部
我建议你不要从公式上下手,会比你直接删除更复杂,你知道为什么吗?因为公式获取的是个值,而不是一排值。有人说VBA可以啊,是可以,会比你直接删除更鸡肋,你拖个按钮在EXCEL工作簿上然后写方法直接遍历查找行,循环清除多余数据就好了,但这种方法不可用,是拿大炮打蚊子。
其实方法相当简单,看你肯不肯做,建立一个新表,鼠标点在sJobNum上,拖动选中他和2017/12/20,左手按住SHIFT+CTRL键不放,再按下方向键“下”,全选前两列,复制到新表,日期全部,在后面输入,向下应用复制。
做到这一步,隐藏第二列,记住是隐藏,继续复制第一列和第三列,全选,刚才一样的操作,选中后按下ALT不放,再按“;",就会忽略隐藏项,默认复制第一列和第三列,到新表最底行,粘贴,日期向下复制。
......如此做下去,把所有列做完,再全选三列,怎么全选会了吧,鼠标放第一个标题上,选中三列SHIFT+CTRL不放按向下键,给顶端加标题。
加好了后,再全选三列,按那个A-Z\Z-A排序,依次添加排序标题,先依据sJobNum列升序,再依据第二列,升序。确定。记住一定要全选三列,不然数据会被打乱。
最后在第四列写公式 =if(A2=A1,"",A2),再全选4列,筛选,筛选第四列不为空的行。
再按住ALT不放,按下" ; ",选中筛选项,复制到新表,
将新表里的第一个日期对应的行复制过去,VLOOKUP第一列的值,获取后面的列。
为什么不用删除重复项,因为删除了你的日期列就不匹配了,为什么不筛选排序,因为筛选排序只排序一列条件,为什么不直接排序,因为直接排序会打乱次序。
其实方法相当简单,看你肯不肯做,建立一个新表,鼠标点在sJobNum上,拖动选中他和2017/12/20,左手按住SHIFT+CTRL键不放,再按下方向键“下”,全选前两列,复制到新表,日期全部,在后面输入,向下应用复制。
做到这一步,隐藏第二列,记住是隐藏,继续复制第一列和第三列,全选,刚才一样的操作,选中后按下ALT不放,再按“;",就会忽略隐藏项,默认复制第一列和第三列,到新表最底行,粘贴,日期向下复制。
......如此做下去,把所有列做完,再全选三列,怎么全选会了吧,鼠标放第一个标题上,选中三列SHIFT+CTRL不放按向下键,给顶端加标题。
加好了后,再全选三列,按那个A-Z\Z-A排序,依次添加排序标题,先依据sJobNum列升序,再依据第二列,升序。确定。记住一定要全选三列,不然数据会被打乱。
最后在第四列写公式 =if(A2=A1,"",A2),再全选4列,筛选,筛选第四列不为空的行。
再按住ALT不放,按下" ; ",选中筛选项,复制到新表,
将新表里的第一个日期对应的行复制过去,VLOOKUP第一列的值,获取后面的列。
为什么不用删除重复项,因为删除了你的日期列就不匹配了,为什么不筛选排序,因为筛选排序只排序一列条件,为什么不直接排序,因为直接排序会打乱次序。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询