如何用EXcel筛选并删除特定条件数据? 举报 理由 举报 取消 从数据库里导出了若干个公司(用股票代码识别)若干年的若干个分析师预测数据,假设第一列为股票代码,第二列为报告发布日期,第三列为预测年份,第四列为分析师姓名,第五列为预测结果。第一,如何筛选出每一个股票代码对应的最早的预测年份的所有数据,删除其他年份数据。第二,筛选出同一个股票代码同一个分析师同一个年份发布的预测结果,保留最新日期的数据,删除其他数据。如图,保存黄色标注的数据,删除绿色和蓝色标准的数据。 2017年11月22日 4 条回复 1113 次浏览 Excel,Microsoft,分析,数据
回复 ( 4 )
用数据透视表 pivot table 对数据具重新编辑即可
按题主要求:
1、按分析师姓名去重
2、按最大预测日期
这类型的一般我会用ole-db中使用sql语句来解决
select a.* from 表 a right join (select 分析师姓名,max(预测终止日) as 预测终止日 from 表 group by 分析师姓名)b on a.分析师姓名=b.分析师姓名 and a.预测终止日=b.预测终止日
但是问题来了,按分析师姓名去重,例如绿色第一行的,分析师姓名:谢军、王剑雨,题主你是需要分别按照谢军、还有王剑雨来统计,还是按照谢军、王剑雨合并在一起来统计?上面语句是按照合并在一起做的。
为了节约题主与答题者时间,请分享数据所在文件,数遍悬停我头像看说明,谢谢。
两个问题一种操作:
就不展开了,请自行摸索
以上的回答都不具有操作性,我在实际工作中遇到过类似问题,具体方法是在excel中加两列做判断,根据题主的意思,加第一列判断是不是最早年份,加第二列判断在同一年份中名字是否重复。然后简单筛选符合条件的记录即可。
注意:对于第一个判断稍微有些复杂,需要中间步骤,第一种纯在excel用公式操作,可以用排序+公式得到这个Yes or No的值。第二种方法如果会VBA,写个循环判断也可以做到。
我思考过很久能不能一步到位,但碰到的诸多问题还是以加中间步骤为佳,并且好处是可追溯到中间的任意一环。