Excel精英培训网

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

[已解决]求大神帮帮忙怎么把A表格的数据整理到B表格里去

[复制链接]
发表于 2017-3-17 14:16 | 显示全部楼层 |阅读模式
大神怎么样才可以1图片里面生产数与班次,整理到2图片。
日 期
操作者
机台号
产品图号2
班次
生产数
1/2
张三
3
1284-1004
白班
1500
1/2
张三
4
1210-1003
白班
2600
1/2
张三
6
1316-1001
白班
800
1/2
张三
7
1351-5003
白班
1800
1/2
李四
3
1284-1004
夜班
2400
1/2
李四
4
1210-1003
夜班
3300
1/2
李四
6
1316-1001
夜班
1100
1/2
李四
8
1298-2002
夜班
1400
1/3
张三
3
1284-1004
白班
2400
1/3
张三
4
1210-1003
白班
3300
1/3
张三
5
1267新-1212
白班
100
1/3
张三
6
1316-1001
白班
1000
1/3
张三
7
1351-5003
白班
500
1/3
张三
8
1298-2002
白班
1500
1/3
李四
3
1284-1004
夜班
1600
1/3
李四
3
1509-0001
夜班
1000
1/3
李四
4
1210-1003
夜班
3300
1/3
李四
6
1316-1001
夜班
1000
1/3
李四
7
3057-1002
夜班
2400


产品型号
1
2
3
4
白班
夜班
白班
夜班
白班
夜班
白班
夜班
1284-1004 
1500
2400
1210-1003 
2600
3300
1316-1001 
800
1100
1351-5003 
1800
1298-2002 
1400
1267新-1212 
1509-0001 
3057-1002 
1298-2001 
1301A-1101 
1284新-1123 
1366-1002 
1366-1003 
1262新-1101 
 
这张表格我是用手输入进去,各位大神帮帮忙,不用手输入。
最佳答案
2017-3-20 13:47
  1. Sub tt()
  2.     Set d = CreateObject("scripting.dictionary")
  3.     arr = Sheet1.Range("a5:f" & Sheet1.[a65536].End(3).Row)
  4.     For i = 1 To UBound(arr)
  5.         x = Day(CDate(arr(i, 1))) + 1 & arr(i, 4) & arr(i, 5) '日、图号、生产班次为key(没搞清为什么要day+1结果才正确)
  6.         d(x) = d(x) + arr(i, 6)
  7.     Next
  8.     With Sheet2
  9.         arr = .[a1].CurrentRegion
  10.         For j = 2 To UBound(arr, 2)
  11.             If arr(1, j) = "" Then arr(1, j) = arr(1, j - 1)
  12.             For i = 3 To UBound(arr)
  13.                 x = arr(1, j) & arr(i, 1) & arr(2, j) '日、图号、生产班次为key
  14.                 arr(i, j) = d(x)
  15.             Next
  16.         Next
  17.         .[a1].CurrentRegion = arr
  18.     End With
  19. End Sub
复制代码

生产日报表.rar

28.93 KB, 下载次数: 5

发表于 2017-3-17 15:10 | 显示全部楼层
回复

使用道具 举报

 楼主| 发表于 2017-3-20 11:59 | 显示全部楼层
日 期
1/2
1/2
1/2
1/2
1/2
1/2
1/2
1/2
1/3
1/3
1/3
1/3
1/3
1/3
1/3
1/3
1/3
1/3
1/3
1/3
1/4
1/4
1/4
1/4
1/4
1/4
1/4
1/4
1/4
1/4
1/4
1/4
1/4
1/4
1/4
转换成下面日期
产品型号        1                2                3                4                5                6                7                8                9       
        白班        夜班        白班        夜班        白班        夜班        白班        夜班        白班        夜班        白班        夜班        白班        夜班        白班        夜班        白班        夜班
回复

使用道具 举报

发表于 2017-3-20 13:47 | 显示全部楼层    本楼为最佳答案   
  1. Sub tt()
  2.     Set d = CreateObject("scripting.dictionary")
  3.     arr = Sheet1.Range("a5:f" & Sheet1.[a65536].End(3).Row)
  4.     For i = 1 To UBound(arr)
  5.         x = Day(CDate(arr(i, 1))) + 1 & arr(i, 4) & arr(i, 5) '日、图号、生产班次为key(没搞清为什么要day+1结果才正确)
  6.         d(x) = d(x) + arr(i, 6)
  7.     Next
  8.     With Sheet2
  9.         arr = .[a1].CurrentRegion
  10.         For j = 2 To UBound(arr, 2)
  11.             If arr(1, j) = "" Then arr(1, j) = arr(1, j - 1)
  12.             For i = 3 To UBound(arr)
  13.                 x = arr(1, j) & arr(i, 1) & arr(2, j) '日、图号、生产班次为key
  14.                 arr(i, j) = d(x)
  15.             Next
  16.         Next
  17.         .[a1].CurrentRegion = arr
  18.     End With
  19. End Sub
复制代码

生产日报表.rar

35.41 KB, 下载次数: 7

回复

使用道具 举报

发表于 2017-8-9 09:07 | 显示全部楼层
学习了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 18:09 , Processed in 0.320927 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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