Office中国论坛/Access中国论坛

标题: 做了个配方计算工具,求高手优化 [打印本页]

作者: LoveSeiya    时间: 2009-10-10 21:57
标题: 做了个配方计算工具,求高手优化
配方计算工具比较简单,只需在标签“Calculation”SMC处输入,并在Min或Max处输入用料,便可在“Final Composition”处通过更新数据计算出最终产品配方。

RM1到RM15为“Calculation”SMC输入的原料信息,供参考,Min和Max处的数据为该原料的配方计算结果。Component ID和%处的数据是成份编号和对应的Max值,单位均换算为“%”,该处数据用于“Final Composition”的自动加和计算。

“Final Composition”中,左半部份为数据透视表,用来加和RM1到RM15中Component ID和%下的数据。当Component ID相同时,便会自动加和。

“Final Composition”中,右半部份为最终结果,均用Max表示计算结果,其中数值小于等于0.0001时,单位自动转换为PPM。

由于本人能力有限,也不会VBA编程,基本靠excel中现有的公式等处理。发现当“All Comp”中数据非常多的时候(>7000条数据),表格计算会相当慢,有时输入一个数据也需要等上不少时间。

求高手看后优化,也当做一个小工具与大家一起分享
作者: LoveSeiya    时间: 2009-10-11 14:54
有高手能指点下嘛?
作者: 方漠    时间: 2009-10-12 13:03
看了一会不是太明白其中的一些数据关系,是注塑行业用的吧?

"表格计算会相当慢",是因为数据量大时,VLOOKUP函数计算非常耗时. 
建议你用VBA筛选出来相应的数据COPY到另一新的SHEET处理,这样就不会有这个问题了. 
作者: LoveSeiya    时间: 2009-10-12 23:40
3# 方漠

不过就是VBA不会,自己水平有限,只会这样做了,求高手改进
作者: LoveSeiya    时间: 2009-10-12 23:43
看了一会不是太明白其中的一些数据关系,是注塑行业用的吧?

"表格计算会相当慢",是因为数据量大时,VLOOKUP函数计算非常耗时. 
建议你用VBA筛选出来相应的数据COPY到另一新的SHEET处理,这样就不会有这个问 ...
方漠 发表于 2009-10-12 13:03


高手就是高手,的确都是塑料方面的配方。不过我没学过编程,这样做也只是自己平时应用然后会的方法做的,我觉得应该会有更好的解决方法的。现在这个计算实在是慢啊,每次输入点数据都要等好几秒
作者: pureshadow    时间: 2009-10-13 00:04
RM1到RM15表格格式都是一样的,放在一个工作表里不好么?
在同一个工作表里,求和只需要SUM,跨工作表还要用INDIRECT,不仅公式复杂不说,还特别慢。

VLOOKUP的运算速度相当慢,可以考虑改用LOOKUP,二分法的计算速度要比VLOOKUP快得多。

每次录入实在太慢,可以改成手动重算,需要计算时按下F9

不过,大型一点的东东,还是建议用代码。
作者: LoveSeiya    时间: 2009-10-13 10:34
因为RM1到RM15分开放是为了自己看起来方便,所以我想了好久还是决定分开放了

老大不过我vba不会的,能给我个相关的例子让我自己好好研究下嘛,我个人也觉得如果用vba,肯定运算速度要比用vlookup理想很多。

“每次录入实在太慢,可以改成手动重算,需要计算时按下F9”,关于这个能具体和我简单说下吗?我有点不是很明白。我自己觉得有些地方如果建个按钮,然后不用实时更新,就像你说的,需要时,手动重算,这样过程就运行快了。
作者: 方漠    时间: 2009-10-13 16:46
可以尝试加我QQ,解释一下数据流程,有时间我可以帮你优化一下.

工具--选项, 计算页 把自动计算的小勾勾去掉.这样每次要算时你都要手工按F9键才行.
作者: pureshadow    时间: 2009-10-13 23:28
因为RM1到RM15分开放是为了自己看起来方便,所以我想了好久还是决定分开放了

老大不过我vba不会的,能给我个相关的例子让我自己好好研究下嘛,我个人也觉得如果用vba,肯定运算速度要比用vlookup理想很多。

“ ...
LoveSeiya 发表于 2009-10-13 10:34

纯函数的东西如果要统计方便,就只能牺牲视觉上的方便。
如果想两者兼得,就要用代码。
作者: LoveSeiya    时间: 2009-10-17 09:03
哎。。。可惜就是不会代码,没系统学过编程。。。




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3