ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 4821|回复: 13

求助——如何去重

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-11-15 11:03 | 显示全部楼层 |阅读模式
各位大神,求助如下表格中,想计算每个商品的采购数量金额和销售数量金额之和,一个商品可能采购了多次,但其销售数量只有一个汇总数据,如15875商品,两次共采购70,销售了53件,但如果直接透视表的话可能会重复加总,该编什么样的函数?
商品号
采购数量
采购金额
销售数量
销售金额
26492
50
25542
33
17223
18635
10
25545
7
18526
15953
20
525540
6
158962
15875
50
25000
53
27632
15875
20
62000
53
27632
15786
30
5000
123
22364
15786
50
2000
123
22364
15786
60
3000
123
22364
15786
70
9000
123
22364
15786
80
5000
123
22364
15786
50
6000
123
22364
14953
80
4000
56
3200
14953
90
2000
56
3200
14953
20
3000
56
3200
14569
50
6000
46
6543
14569
30
4000
46
6543
12687
60
5000
26
2698
12586
40
6000
56
8699
12586
70
8000
56
8699
12467
20
7000
23
8632
12467
30
8621
23
8632
12465
60
3000
30
1864
12456
30
5000
25
5237
12456
30
2000
25
5237
12359
50
5000
60
7520
12359
60
5000
60
7520
12359
50
6000
60
7520
12356
30
5000
50
9000
12356
30
6000
50
9000
12356
30
7000
50
9000

TA的精华主题

TA的得分主题

发表于 2012-11-15 12:15 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
你的意思是如果商品号重复,就把采购数量和金额累加,销售数量和金额不变,然后删除重复记录?

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-11-15 13:13 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
是的,最终汇总下来就是采购数量和金额求和,销售数量和金额不变

TA的精华主题

TA的得分主题

发表于 2012-11-15 14:35 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
我出个笨法:从你的例表中看来,别管你采购几次,但对应商品的销售数量和金额都是一样的,所以只须将采购数量和采购金额用透视表求和,销售数量和销售金额以商品号为基准去重即可得到。若想合到一张表里,最后再用vlookup匹配一下就OK了。

TA的精华主题

TA的得分主题

发表于 2012-11-15 15:15 | 显示全部楼层
本来想用Sql 语句直接生成数据透视表解决,但是总不对,还是要请教高手。
Select 商品号, sum(采购数量) as 采购数量, sum(采购金额) as 采购金额 from [原数据表$] Group by 商品号
是可以将商品号唯一,采购数量和采购金额汇总并列出来的,但是加上销售金额和销售数量并且让它们保持原样:
Select 商品号, sum(采购数量) as 采购数量, sum(采购金额) as 采购金额 ,销售金额, 销售数量 from [原数据表$] Group by 商品号 是报错的,无法搜索出结果直接做数据透视表,花费了我半天时间也没弄明白。

回头只好用vba 做了一个表,这个问题还是用sql 直接出数据透视表最快最好,我的sql 水平太差,郁闷。

请参考附件,第一张sheet 是楼主贴的表原数据表,点击按钮,会生成按照楼主要求汇总的一张目标表,在Sheet2 位置。Sheet3 是我随手做的一张数据透视表。
这个问题应该用不着VBA 而应该直接出Sheet3 的啊。{:soso_e118:}{:soso_e118:}

Book1.zip

13.16 KB, 下载次数: 26

TA的精华主题

TA的得分主题

发表于 2012-11-15 15:47 | 显示全部楼层
晕,SQL 做出来了:
Select 商品号,sum(采购数量) as 采购数量, sum(采购金额) as 采购金额,first(销售数量) as 销售数量, first(销售金额) as 销售金额 from [源数据表$] Group by 商品号就这一句话解决,用VBA 我得趴着写半天代码。

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-11-15 16:18 | 显示全部楼层
不好意思,我是菜鸟,只有入门水平,请问如何在excel中使用sql语句?

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-11-15 16:19 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
hehex 发表于 2012-11-15 15:47
晕,SQL 做出来了:
Select 商品号,sum(采购数量) as 采购数量, sum(采购金额) as 采购金额,first(销售数量) ...

不好意思,我是菜鸟,只有入门水平,请问如何在excel中使用sql语句?

TA的精华主题

TA的得分主题

 楼主| 发表于 2012-11-15 16:20 | 显示全部楼层
carpsd 发表于 2012-11-15 14:35
我出个笨法:从你的例表中看来,别管你采购几次,但对应商品的销售数量和金额都是一样的,所以只须将采购数 ...

我也是这么想的,不过想着应该有更高级一点的方法的,共同学习吧

TA的精华主题

TA的得分主题

发表于 2012-11-15 17:32 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
syang01 发表于 2012-11-15 16:19
不好意思,我是菜鸟,只有入门水平,请问如何在excel中使用sql语句?

以excel 2003 为例吧,我公司只有英文版的2003
菜单 数据-导入外部数据-导入数据-选择你的excel 表所在的路径,点打开。
会让你选择表就是Sheet, 就是选择源数据表,选好之后出现一个导入外部数据的窗体,点击右下的编辑查询按钮就可以输入Sql 语句进去了,查询的结果可以直接生成数据透视表,或者产生普通表格。我这里没有中文版可能菜单按钮名称有点出入,大体意思是不会错的。


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

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-28 18:37 , Processed in 0.046959 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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