Excel精英培训网

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

[已解决]大师看一下这个高难度的问题

[复制链接]
发表于 2014-12-1 20:44 | 显示全部楼层 |阅读模式
如何把数据转换成我想要的表格,见表格.
最佳答案
2014-12-3 10:25
本帖最后由 qinqh_yl 于 2014-12-3 10:28 编辑

用三个数组公式解决。可达到楼主要求格式。
G4公式:
=SMALL(IF(MATCH($A$2:$A$16&TEXT($B$2:$B$16,"emm"),$A$2:$A$16&TEXT($B$2:$B$16,"emm"),)=ROW($1:$15),$B$2:$B$16,99999),COLUMN(A1))
向右复制公式。
F5公式:
=INDEX($A:$A,MIN(IF(COUNTIF(F$4:F4,$A$2:$A$16),99,ROW($A$2:$A$16))))
向下复制公式。
G5公式:
=IF(MIN(IF(($A$2:$A$16=$F5)*(TEXT($B$2:$B$16,"emm")=TEXT(G$4,"emm")),$B$2:$B$16,99999))=G$4,SUM(($A$2:$A$16=$F5)*(TEXT($B$2:$B$16,"emm")=TEXT(G$4,"emm"))*$C$2:$C$16),"")
向右向下复制公式。

新建 Microsoft Excel 工作表.zip

2.24 KB, 下载次数: 21

发表于 2014-12-1 21:10 | 显示全部楼层
直接透视就行了。建议日期字段放在行更直观点。 新建 Microsoft Excel 工作表.zip (3.61 KB, 下载次数: 1)
回复

使用道具 举报

 楼主| 发表于 2014-12-1 22:22 | 显示全部楼层
你没看懂我想要表格的意思,不是简简的透视一下就可以,我要的是每个代码每月的总数,并且显示每月的最小日期.
你那个简直
回复

使用道具 举报

发表于 2014-12-2 09:29 | 显示全部楼层
加一最小日期辅助列
新建 Microsoft Excel 工作表.rar (3.45 KB, 下载次数: 2)
回复

使用道具 举报

 楼主| 发表于 2014-12-2 19:15 | 显示全部楼层
zyouong 发表于 2014-12-2 09:29
加一最小日期辅助列

你好,我要求是每个代码所在的每个月的总数量,即时相同的代码按月要分开.
回复

使用道具 举报

 楼主| 发表于 2014-12-2 19:22 | 显示全部楼层
神奇的excel 发表于 2014-12-2 19:15
你好,我要求是每个代码所在的每个月的总数量,即时相同的代码按月要分开.

其中部分有误
A
2015-8-9
54
2015-8-7
A
2015-8-10
36
2015-8-7
A
2015-8-11
25
2015-8-7
A
2015-4-7
81
2015-4-3
A
2015-4-8
65
2015-4-3

回复

使用道具 举报

发表于 2014-12-2 19:50 | 显示全部楼层
神奇的excel 发表于 2014-12-2 19:15
你好,我要求是每个代码所在的每个月的总数量,即时相同的代码按月要分开.

你的模拟结果有错,有几列是两列是同一月的数据。
回复

使用道具 举报

发表于 2014-12-2 19:53 | 显示全部楼层
11.gif 2014年10月份是两列、2015年4月是两列、2015年8月也是两列,你不是说按月汇总的吗?
回复

使用道具 举报

发表于 2014-12-3 10:25 | 显示全部楼层    本楼为最佳答案   
本帖最后由 qinqh_yl 于 2014-12-3 10:28 编辑

用三个数组公式解决。可达到楼主要求格式。
G4公式:
=SMALL(IF(MATCH($A$2:$A$16&TEXT($B$2:$B$16,"emm"),$A$2:$A$16&TEXT($B$2:$B$16,"emm"),)=ROW($1:$15),$B$2:$B$16,99999),COLUMN(A1))
向右复制公式。
F5公式:
=INDEX($A:$A,MIN(IF(COUNTIF(F$4:F4,$A$2:$A$16),99,ROW($A$2:$A$16))))
向下复制公式。
G5公式:
=IF(MIN(IF(($A$2:$A$16=$F5)*(TEXT($B$2:$B$16,"emm")=TEXT(G$4,"emm")),$B$2:$B$16,99999))=G$4,SUM(($A$2:$A$16=$F5)*(TEXT($B$2:$B$16,"emm")=TEXT(G$4,"emm"))*$C$2:$C$16),"")
向右向下复制公式。
回复

使用道具 举报

 楼主| 发表于 2014-12-3 19:16 | 显示全部楼层
zyouong 发表于 2014-12-2 19:53
2014年10月份是两列、2015年4月是两列、2015年8月也是两列,你不是说按月汇总的吗?

按月汇总还要分每一个代码
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-22 19:05 , Processed in 0.310389 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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