找回密码
 立即注册
搜索
查看: 2572|回复: 17

[软件] 求问EXCEL里如何把每一批数据只保留最大值和最小值?

[复制链接]
     
发表于 2016-7-27 15:06 | 显示全部楼层 |阅读模式
例如现在有以下表格:
3500291975.07.12
3500291975.07.12
3500291975.07.12
3500291979.05
3500291979.05
3500291979.05
3500291994.06
3500291994.06
3500291994.06
3500291994.06
3500291999.06.14
3500291999.06.14
3500292000.09.26
3500292000.09.26
3500292001.08.04
3500301956
3500301956
3500301956.05.22
3500301956.05.22
3500301956.05.22
3500301956.05.22

要将350029和350030这两批数据右边的日期分别删除最大和最小值,保留为
3500291975.07.12
3500292001.08.04
3500301956
3500301956.05.22

请问如何能做到呢?

尝试下S1发表格~

回复

使用道具 举报

发表于 2016-7-27 15:29 | 显示全部楼层
你應該先對數據格式進行處理   1956 = 1956.01.01 or 1956.12.31
回复

使用道具 举报

     
发表于 2016-7-27 15:33 | 显示全部楼层
复制两份,第一份按第二列降序,然后按第一列+第二列删除重复项;第二份按第二列升序,然后按第一列+第二列删除重复项;然后两份合起来。
回复

使用道具 举报

     
 楼主| 发表于 2016-7-27 15:38 | 显示全部楼层
foraiur 发表于 2016-7-27 15:33
复制两份,第一份按第二列降序,然后按第一列+第二列删除重复项;第二份按第二列升序,然后按第一列+第二列 ...

这个办法可以删除第二列中的重复项,但是最大值和最小值之间的仍然留着的啊
回复

使用道具 举报

发表于 2016-7-27 15:40 | 显示全部楼层
这种任务我都是用python做的,excel处理不规则数据不行
回复

使用道具 举报

     
 楼主| 发表于 2016-7-27 15:42 | 显示全部楼层
tsubasa9 发表于 2016-7-27 15:40
这种任务我都是用python做的,excel处理不规则数据不行

这么高端= = 看来还是只有手动做了...
回复

使用道具 举报

发表于 2016-7-27 15:42 | 显示全部楼层
python很容易的,直接有xls接口读数据就行了
处理方面大概不会超过20行
回复

使用道具 举报

     
 楼主| 发表于 2016-7-27 15:45 | 显示全部楼层
tsubasa9 发表于 2016-7-27 15:42
python很容易的,直接有xls接口读数据就行了
处理方面大概不会超过20行

我不是码农从没用过啊= = 连这个软件本身是啥都不知道的
回复

使用道具 举报

     
发表于 2016-7-27 15:45 | 显示全部楼层
楼主你到底要保留还是删除最大最小值。

如果保留,作数据透视表就行了,不用代码。
如果删除,写一下vba,也很入门
回复

使用道具 举报

     
 楼主| 发表于 2016-7-27 15:48 | 显示全部楼层
chronicle 发表于 2016-7-27 15:45
楼主你到底要保留还是删除最大最小值。

如果保留,作数据透视表就行了,不用代码。

保留最大最小值,删除中间的。小白求问怎么做数据透视表= =
回复

使用道具 举报

     
发表于 2016-7-27 15:49 | 显示全部楼层
testalphagogogo 发表于 2016-7-27 15:38
这个办法可以删除第二列中的重复项,但是最大值和最小值之间的仍然留着的啊 ...

那就只按第一列删除重复项啊……
回复

使用道具 举报

     
发表于 2016-7-27 15:52 | 显示全部楼层

RE: 求问EXCEL里如何把每一批数据只保留最大值和最小值?

testalphagogogo 发表于 2016-7-27 15:48
保留最大最小值,删除中间的。小白求问怎么做数据透视表= =

百度一下吧,很简单的,纯图形操作,excel自带功能
回复

使用道具 举报

     
 楼主| 发表于 2016-7-27 16:04 | 显示全部楼层
foraiur 发表于 2016-7-27 15:49
那就只按第一列删除重复项啊……

这样可以!但是又有新问题,第二列里有些数据格里有“不详”的文字,一排序的话就变成最大值了,会把本来存在的最大值给占用掉,有办法解决吗?
回复

使用道具 举报

     
 楼主| 发表于 2016-7-27 16:07 | 显示全部楼层
自己解决了,把不详替换成0不详就应该可以了
回复

使用道具 举报

     
发表于 2016-7-27 16:08 | 显示全部楼层
先把“不详”等不参与排序的项目给筛选出来剪切到一边去……
回复

使用道具 举报

     
发表于 2016-7-27 20:38 | 显示全部楼层
本帖最后由 Yuee 于 2016-7-27 20:44 编辑

楼主的问题,可以使用数组公式解决

首先必要条件是第二列的值要标准
现在放到excel里就是字符串,需要处理成excel可以识别的日期格式,才能正常的取最大最小值
批量替换“.”变成“/”就而可以了(注意1956这样只有年份的必须在后面加上比如“.1.1”)
另外B列不能为空(因为excel中,空值转换成日期的话,是1900/1/1),字符串(例如楼上提到的“不详”)会被忽略

处理后
ID列是A列
日期列是B列的话

在你想输出数据的地方
使用公式:
MIN(IF($A:$A=350029,$B:$B))
然后按下ctrl+shift+enter
会发现公式变成
{=MIN(IF($A:$A=350029,$B:$B))}
外面多了一圈花括号,这就表示数组公式成功了
里面的值就是正确的值



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

     
发表于 2016-7-27 20:48 | 显示全部楼层
Yuee 发表于 2016-7-27 20:38
楼主的问题,可以使用数组公式解决

首先必要条件是第二列的值要标准

图呢!
挑起战争嘲讽python的图呢!
回复

使用道具 举报

     
 楼主| 发表于 2016-7-27 21:21 | 显示全部楼层
Yuee 发表于 2016-7-27 20:38
楼主的问题,可以使用数组公式解决

首先必要条件是第二列的值要标准

多谢,不过3楼的也可以做到,适合EXCEL初学者
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2025-8-21 21:42 , Processed in 0.098750 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表