Foxtable(狐表)用户栏目专家坐堂 → [求助]请老师帮我写个根据要求抽取数据的代码


  共有3583人关注过本帖树形打印复制链接

主题:[求助]请老师帮我写个根据要求抽取数据的代码

帅哥哟,离线,有人找我吗?
huangfanzi
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
[求助]请老师帮我写个根据要求抽取数据的代码  发帖心情 Post By:2015/1/10 14:40:00 [显示全部帖子]

假定表中有如下内容:
卷号                重量    行号       母卷号     
CS100001      100    1        CS100001
CS100001A    50      2        CS100001
CS100001A    45      3        CS100001
CS100001B    50      4        CS100001
CS100001B    40      5        CS100001
CS100001BA  20      6        CS100001
CS100001BB  20      7        CS100001
CS100002      200    8       CS100002
CS100002      195    9       CS100002

表内卷号的意义:
一个卷初始编号即母卷号为8位数,如CS100001,在加工过程发生了断带,就会变成二个卷(或多个卷),这时,断后的二个卷在原未断前的卷号后面跟上英文字母,断后的卷继续加工,只要不再断卷,卷号保持不变,卷的重量随着加工的进程,会有一定的损耗,就如行号2的分卷重量50 继续加工后得到行号3的重量45

想通过一段代码抽取断后分卷的期初重量合计,思路如下:
当下一行的卷号位数比上一行多一位时,并且母卷号相等,即行号2比行号1的位数多了一位,二行的母卷号一致,可判断发生了断带分卷。
当发生断带分卷时,要求统计出断后的二个卷期初的重量,即行号2与行号4的重量,将此重量合计赋值给变量 FJZ
谢谢老师!

 回到顶部
帅哥哟,离线,有人找我吗?
huangfanzi
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2015/1/10 15:04:00 [显示全部帖子]

6与7二行是由第5行断带后生成的,对于第1行的断带后分卷期初重量只有2与4二行,我要做这些实际是想算投料量,然后算出每道工序的成材率,我把表写的完整些。

卷号                重量    行号       母卷号        投料量    投料量计算方法
CS100001      100    1        CS100001    100
CS100001A    50      2        CS100001    50       100*50/(50+50) 解释:分卷前重量*本行卷重/分卷总重即2与4二行
CS100001A    45      3        CS100001    50
CS100001B    50      4        CS100001    50
CS100001B    40      5        CS100001    50
CS100001BA  20      6        CS100001    25       
CS100001BB  20      7        CS100001    25      50*25/(25+25)
CS100002      200    8       CS100002     200
CS100002      195    9       CS100002     200

由此可见,上表中第7行的成材率是80%,即20/25*100%
[此贴子已经被作者于2015-1-10 15:06:26编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
huangfanzi
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2015/1/10 18:49:00 [显示全部帖子]

老师有空吗,帮我看看如何写代码,谢谢!

 回到顶部
帅哥哟,离线,有人找我吗?
huangfanzi
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2015/1/10 20:21:00 [显示全部帖子]

做了个例子,麻烦老师了。

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:投料量分摊.rar


 回到顶部
帅哥哟,离线,有人找我吗?
huangfanzi
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2015/1/11 12:22:00 [显示全部帖子]

甜老师,计算结果有错误,麻烦您再帮我看看。

 


图片点击可在新窗口打开查看此主题相关图片如下:投料量计算结果图.jpg
图片点击可在新窗口打开查看


 回到顶部
帅哥哟,离线,有人找我吗?
huangfanzi
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2015/1/11 12:44:00 [显示全部帖子]

甜老师,万分抱歉,我之前给的样例不是很好,我看了你的代码,是假定每次分卷只会出二个来写的,实际上,分几个不一定的,可能是3个甚至5个,我把样例改了下,注意看第10行,您老再帮我看看,万分感谢!

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:投料量分摊new.rar

[此贴子已经被作者于2015-1-11 12:47:41编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
huangfanzi
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2015/1/11 14:14:00 [显示全部帖子]

甜版,有空帮我写下吗,这个双休我的时间全泡在这段代码上了。

 回到顶部
帅哥哟,离线,有人找我吗?
huangfanzi
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2015/1/11 16:45:00 [显示全部帖子]

甜老师,代码执行遇到二个问题:

一是代码不知什么地方有个限定,我放入项目的实例中计算结果错误,实例文件已经上传

二是执行效率太差,项目文件中有18000行数据,执行了二分钟也没执行完,最后我不得不关闭进程

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:投料量分摊new1.rar


 回到顶部
帅哥哟,离线,有人找我吗?
huangfanzi
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2015/1/11 17:51:00 [显示全部帖子]

甜老师,代码放入项目文件执行后完全正确了,但效率问题还是没解决,整张表执行完用了5分钟,有什么办法改善吗?

 回到顶部
帅哥哟,离线,有人找我吗?
huangfanzi
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1104 积分:8956 威望:0 精华:0 注册:2014/10/25 11:24:00
  发帖心情 Post By:2015/1/11 18:21:00 [显示全部帖子]

多加二列没有问题的,但具体如何做,能把我的例子改下传上来吗?
我用上面的代码执行后,凡是分卷再分卷后投料量为0了,例如第99行的CT141207FA,但执行效率高了好多

 回到顶部
总数 12 1 2 下一页