怎么样将数据合并?想半天没有好的办法,求大神赐教如图1,有两
vb吧
全部回复
仅看楼主
level 11
carl 楼主
怎么样将数据合并?[乖]想半天没有好的办法,求大神赐教
如图1,有两列数据,其中名称有很多重复的。怎么样将同名数据合并数量,成图2这样
2020年06月23日 00点06分 1
level 7
合并后入进第三个表吗
2020年06月23日 01点06分 2
进不进倒是其次,主要能实现输出合并完的数据就行[啊]
2020年06月23日 02点06分
level 7
文件给我
我可以一试。
2020年06月23日 03点06分 3
这没啥文件啊[不高兴],就想学学这个合并的算法,大神指导下。数据随便造就行
2020年06月23日 04点06分
@carl 取表1为外循环 表2为内循环,比较表1与表2的名称是否相同,如果相同,将数量相加,插入表3
2020年06月23日 11点06分
吧务
level 13
⒈ 对原始数据表按【关键字】(某一列的数据大小)排序;
⒉ 如果要生成【小计表】必须使用【SQL】命令——
SELECT <字段列表> 需要查询的字段名(列表)
FROM <数据表列表>     数据来源的表
[ WHERE <条件表达式> ]   查询条件
[ GROUP BY …… ]     对查询结果进行分组(求小计功能)
[ HAVING <条件表达式> ]  分组满足的条件,在 GROUP BY 后
[ UNION …… ]       合并多个【SELECT】语句的结果集
[ ORDER BY …… ]     ASC/DESC【升/降序排列】
[ INTO 类型 文件全名] 导出【DBF、XLS】类型的文件
  所谓【小计表】,就是表格中某字段内容相同的进行合计计算(例如大家都是【一车间】的人,关键字段名是【分单位编号】),放在另一张表的一行中。
  类似一个大单位有许多分单位,需要一张每个分单位占一行的《分单位工资汇总表》,以便观察各个分单位在总部的工资份额。这个《分单位工资汇总表》对于对原始数据表的【关键字】就进行了【百里挑一】的操作。
2020年06月23日 08点06分 5
level 7
读取电子表格数据 然后 加入到数组里,然后判断下一条要加入的数据与数组逐个对比 没有就继续写入 有了就不操作这条数据
2020年06月23日 08点06分 6
应该先排序。
2020年06月24日 05点06分
level 11
carl 楼主
Private Sub SumNum()
Dim arr(), brr()
Dim d As Dictionary
Set d = New Dictionary
ReDim arr(1 To ListView1.ListItems.Count, 1 To ListView1.ColumnHeaders.Count - 1) '定义数组大小
For i = 1 To ListView1.ListItems.Count
arr(i, 1) = ListView1.ListItems(i).SubItems(1)
arr(i, 2) = ListView1.ListItems(i).SubItems(2)
Next
For i = 1 To UBound(arr)
d(arr(i, 1)) = "" '给key赋值,同时清空key的item值
Next i
a = d.Keys
ReDim brr(1 To d.Count, 1 To UBound(arr, 2)) '去掉了重复的key
For i = 0 To d.Count - 1
brr(i + 1, 1) = a(i)
s1 = 0
For j = 1 To UBound(arr)
If a(i) = arr(j, 1) Then s1 = s1 + arr(j, 2)
Next j
brr(i + 1, 2) = s1
Next i
ListView1.ListItems.Clear
For i = 1 To UBound(brr)
Item = ListView1.ListItems.Count + 1
ListView1.ListItems.Add , , Item
ListView1.ListItems(Item).SubItems(1) = brr(i, 1)
ListView1.ListItems(Item).SubItems(2) = brr(i, 2)
Next
End Sub
搞定,用字典剔重求和。代码分享[吐舌]
2020年06月23日 12点06分 7
1