Excel根据条件筛选数据后保留最大时间的一条
来源:网络收集 点击: 时间:2024-03-06本人刚步入社会,码奴小白,在开发过程中不免会使用到Excel,不过也只是稍稍了解一些简单的Excel自带函数。有天跟我姐(会计)聊天,她说工作的时候会用到Excel统计数据,大把的时间浪费在了手动统计上,我便向我姐要来了她平时工作的Excel模板,根据要求帮他写了一个统计函数,就是标题提到的Excel筛选统计函数,效果不错,可以节约很多时间,那么我就将这点小经验教给大家。

通过以上图片可以看到,D列和F列的数据相同,而U列的时间是递增的,而我们想要的数据是仓库(D列)和编号(F列)相同而时间是最大的一条数据。
这时我们就会想到应该最先获取最大时间,然后通过比较最大时间和现有时间是否相等,如果相等则为有效数据。好的,那我们先进行第一步过去最大时间。
通过=LOOKUP(1,0/((D:D=D2)*(F:F=F2)*(U:U=U2)),U:U)此函数我们会获取到仓库和编号相同的最大时间,
具体操作:选中AB2到AB33单元格,因为我的数据只有33条,然后在fx处输入=LOOKUP(1,0/((D:D=D2)*(F:F=F2)*(U:U=U2)),U:U),最后按住Ctrl+Enter。函数就被执行了,执行结果如图所示:

大家可以看到在AB列出现了一些数据,而这些数据正是咱们要求出的 (仓库和编号相同的最大时间)。
而现在我们只需要将现有时间和最大时间进行比较久OK 了。
好的,上代码:=IF(U2=LOOKUP(1,0/((D:D=D2)*(F:F=F2)*(U:U=U2)),U:U),有效数据,重复)
具体操作:和刚刚执行那个函数的步骤一样。我还是复制过来吧,省着你们还得往上翻。。。。。。
选中AA2到AA33单元格,因为我的数据只有33条,然后在fx处输入=IF(U2=LOOKUP(1,0/((D:D=D2)*(F:F=F2)*(U:U=U2)),U:U),最后按住Ctrl+Enter。函数就被执行了,执行结果如图所示:

嗯,效果基本达到了,在AA列显示有效数据的行就是我们想要的行,这时我们再借助一下Excel的筛选功能,将重复的数据过滤掉。
秘书上图:

emmmmmmmmm就是这个样子。好啦,写累了,大家快去试试吧,希望能帮到你们。
6/6对了,一般像我这种不思进取(臭不要脸)的人怎么能就能这么结束的,当然是把函数弄明白啊。
那么我们把函数剖析一下。
=IF(U2=LOOKUP(1,0/((D:D=D2)*(F:F=F2)*(U:U=U2)),U:U)
这个函数的意思呢。。。
项目经理:小邓来活了,快去改BUG。
本人:得嘞,有空再聊
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_262290.html