Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 4381|回复: 10

[已解决]汇总分表时间日期后,剔除重复再按时间排序

[复制链接]
发表于 2014-7-16 17:57 | 显示全部楼层 |阅读模式
求助:
1、汇总附件中的分表(1、2、3、4、5个表的D列)时间日期后,后剔除重复的时间和日期,再按日期和时间排序(最新的日期排在前面)。

2、根据时间匹配1、2、3、4、5个表的数据,如果该时间点表1有数据,其他表没有数据的,其他表的数据填充一个最接近这个时间点的数据。

详细见附件。

请大家帮忙。谢谢


最佳答案
2014-7-17 15:03
可以这样处理;
先把各个分表的时间复制到汇总表的A列,
把A列从小到大排序
在B3单元格复制以下公式,
横拉、下拉。
=IFERROR(VLOOKUP($A3,IF({1,0},INDIRECT("'"&B$2&"'!D1:D60"),IF(COLUMN()<7,INDIRECT("'"&B$2&"'!$A$1:$A$60"),INDIRECT("'"&2&"'!$c$1:$c$60"))),2,0),"")
日期时间
分表的A列
分表的C列
1
2
3
4
5
1
2
3
4
5
2014-7-7 15:44
 
0.71
0.81
 
 
 
0.87
0
 
 
2014-7-7 15:44
 
0.71
0.81
 
 
 
0.87
0
 
 
2014-7-8 0:57
 
0.7
0.8
 
 
 
0.88
0
 
 
2014-7-8 0:57
 
0.7
0.8
 
 
 
0.88
0
 
 
2014-7-8 3:50
 
0.73
0.83
 
 
 
0.85
0
 
 
2014-7-8 3:50
 
0.73
0.83
 
 
 
0.85
0
 
 
2014-7-8 5:03
 
0.72
0.82
 
 
 
0.86
0.87
 
 
2014-7-8 5:03
 
0.72
0.82
 
 
 
0.86
0.87
 
 
2014-7-8 6:40
 
 
0.82
 
 
 
 
0.88
 
 
2014-7-8 13:06
 
 
0.83
 
 
 
 
0.85
 
 
2014-7-8 13:07
 
 
0.82
 
 
 
 
0.86
 
 

举例.rar

15.11 KB, 下载次数: 24

发表于 2014-7-16 18:46 | 显示全部楼层
回复

使用道具 举报

发表于 2014-7-16 23:08 | 显示全部楼层
这题估计要用VBA+SQL解决,找向伟老师,再就是你的数据源格式也不统一
回复

使用道具 举报

 楼主| 发表于 2014-7-17 08:51 | 显示全部楼层
十五的月亮 发表于 2014-7-16 23:08
这题估计要用VBA+SQL解决,找向伟老师,再就是你的数据源格式也不统一

确实很棘手,问了一一些人都没搞定,数据源格式是一致的。
回复

使用道具 举报

 楼主| 发表于 2014-7-17 09:31 | 显示全部楼层
baksy 发表于 2014-7-16 18:46
坐等学习。

博士研究生能帮忙找人看看么。
回复

使用道具 举报

发表于 2014-7-17 09:43 | 显示全部楼层
yvhanym 发表于 2014-7-17 08:51
确实很棘手,问了一一些人都没搞定,数据源格式是一致的。

不是很棘手,是没有这样统计的,
把A列和C列集中到一个区域,
那么各自的日期怎么体现?
不可能一行只能写一个日期时间吧,
要是把各个数据项的日期全部体现出来,
就得把各个工作表整张复制过来,
所以说楼主的统计格式有问题。
回复

使用道具 举报

发表于 2014-7-17 09:54 | 显示全部楼层
yvhanym 发表于 2014-7-17 09:31
博士研究生能帮忙找人看看么。

如果不考虑日期时间的话,
汇总表的B3单元格复制以下公式,横拉、下拉。
=INDIRECT("'"&B$2&"'!r"&ROW()-2&"c"&IF(COLUMN()<7,1,3),)&""
回复

使用道具 举报

 楼主| 发表于 2014-7-17 12:00 | 显示全部楼层
baksy 发表于 2014-7-17 09:43
不是很棘手,是没有这样统计的,
把A列和C列集中到一个区域,
那么各自的日期怎么体现?

不是统计,是查找。
因为要做折线图,对比5个表中各日期和时间点的数据。

不是每个时间点5个表都有数据,如果没有的就取一个和日期最近的数据。

最终就是通过折线图对比每个时间点A列和C列的数据有无规律。
回复

使用道具 举报

 楼主| 发表于 2014-7-17 13:52 | 显示全部楼层
baksy 发表于 2014-7-17 09:54
如果不考虑日期时间的话,
汇总表的B3单元格复制以下公式,横拉、下拉。
=INDIRECT("'"&B$2&"'!r"&ROW( ...

要先处理时间,把5个表中的时间汇总在1列中,剔除重复并进行排序。
再根据时间来去5个表中查找A列和C列的数据,如果某个时间在某个表中的A列或者C列找不到数据,那么就返回该表中最接近这个时间对应的A列或者C列的数据。
回复

使用道具 举报

发表于 2014-7-17 15:03 | 显示全部楼层    本楼为最佳答案   
可以这样处理;
先把各个分表的时间复制到汇总表的A列,
把A列从小到大排序
在B3单元格复制以下公式,
横拉、下拉。
=IFERROR(VLOOKUP($A3,IF({1,0},INDIRECT("'"&B$2&"'!D1:D60"),IF(COLUMN()<7,INDIRECT("'"&B$2&"'!$A$1:$A$60"),INDIRECT("'"&2&"'!$c$1:$c$60"))),2,0),"")
日期时间
分表的A列
分表的C列
1
2
3
4
5
1
2
3
4
5
2014-7-7 15:44
 
0.71
0.81
 
 
 
0.87
0
 
 
2014-7-7 15:44
 
0.71
0.81
 
 
 
0.87
0
 
 
2014-7-8 0:57
 
0.7
0.8
 
 
 
0.88
0
 
 
2014-7-8 0:57
 
0.7
0.8
 
 
 
0.88
0
 
 
2014-7-8 3:50
 
0.73
0.83
 
 
 
0.85
0
 
 
2014-7-8 3:50
 
0.73
0.83
 
 
 
0.85
0
 
 
2014-7-8 5:03
 
0.72
0.82
 
 
 
0.86
0.87
 
 
2014-7-8 5:03
 
0.72
0.82
 
 
 
0.86
0.87
 
 
2014-7-8 6:40
 
 
0.82
 
 
 
 
0.88
 
 
2014-7-8 13:06
 
 
0.83
 
 
 
 
0.85
 
 
2014-7-8 13:07
 
 
0.82
 
 
 
 
0.86
 
 

回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 00:35 , Processed in 0.635593 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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