Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
现有如上图的表,能否利用代码筛选出单机量为负的行,然后再找出包含有与其相同位号的行(如第4行单机量为-1,其位号列为C102,这就需要找到包含有与其有相同位号C102的第1行),然后将其单机量相加【2+(-1)=1】,同时在第一行的位号列中删去C102.
最终希望能出现下表
只是现在这个表是手工输入的,现在希望能通过代码完成。
有规律就可以写代码,没有啥不可以的。
但强烈建议:
1、增加一个表,包括两列,分别是序号、位号。
2、表2和新增加的表通过序号关联起来,表2是父表,新增加的表是子表。
但是我知道你打印表2的时候,希望能包括图片中的位号列,这个没有关系,用专业报表很容易实现,到时我帮你写一下打印代码即可。
C102是线路板上的1个位置,其实表1第1行的现实意义是:C101和C102这两个位置各插着1个代码为AA的电容,而第4行的现实意义就是:将C102这个位置的电容去掉。这样线路板上就只剩下C101这个位置还插着AA电容了。所以需要删除C102,然后单机量-1。
第3行和第5行也是一个道理(其实按道理第3行和第5行的代码本来应该要一样的,但习惯了粗放式制造业工作方式的工程师往往不关注一个位号之前插的是什么零件,而只关注最后插的是什么零件,所以为了提高FOXTABLE以后运行时的容错率,我这里故意将其输成不一样)。
其实规则就是只要两行包含有相同的位号(第1行和第4行,第3行和第5行),就将相同的位号删去,然后单机量相加,然后保留位号多的那一行的其他列信息(如第1行删去C102后还剩C101,而第5行删去C102后就没有其他位号了,所以得出表2第1行的结果)。
(其实按道理第3行和第5行的代码本来应该要一样的,但习惯了粗放式制造业工作方式的工程师往往不关注一个位号之前插的是什么零件,而只关注最后插的是什么零件,所以为了提高FOXTABLE以后运行时的容错率,我这里故意将其输成不一样)。
能否只通过找到包含相同位号的两行来处理?
这样决不可能用代码能解决,还是手工入录吧····
你得要总结出规律来才行。