石家庄站在哪个区,wordpress国内视频网站,从0到建网站,好看云在线网站模板写在前面的话 知识产权算是一个盛产数据的行业。专利啊商标啊著作啊#xff0c;都有著录项目。我们常说的专利分析、产业导航、企业导航、产业预警、竞争情报、技术综述、知识产权评议等等#xff0c;常规操作之一就要先处理著录项目数据#xff0c;然后再进行不同角度的分… 写在前面的话 知识产权算是一个盛产数据的行业。专利啊商标啊著作啊都有著录项目。我们常说的专利分析、产业导航、企业导航、产业预警、竞争情报、技术综述、知识产权评议等等常规操作之一就要先处理著录项目数据然后再进行不同角度的分析。有的小伙伴们会问分析啊导航啊预警啊有什么区别啊不都是一回事儿吗君觉得说得很对就像吃饭有的人为了减肥所以糖少一点有的人为了增肌所以蛋白质多一点有的人为了养生所以注重纤维素和维生素的搭配吃饭的目的不同所以食物的结构、成分、数量都不一样。不过对大多数过一天算一天的人来说吃饭就是按部就班、填饱肚子而已。所以说一回事儿也行说不一回事儿也行主要看精不精致。“分析”这种能力堪称人类智慧之光。专利分析领域有很多大神还有许多高明的工具和技巧。不过君对分析是七窍通了六窍——一窍不通所以分析绝对不是这篇文章的重点。这系列的文章只想聊几个Excel宏VBA的小程序(其实并不限于处理专利数据只是图个方便图个开心罢了)篇幅短小而且比较快更。假如某食品企业每个部门按期提交发明创造。企业统计人员把发明创造的提交日、年份、发明名称、奖励系数汇总到一张表里。如果现在需要分段统计各个部门的奖励系数的总数怎么办呢有的小伙伴可能手动用SUM函数求和来搞定或者可能用“合并计算”搞定咯。不过虽然手动操作的技巧简单易学但当多个数据文件需要一系列的复杂手动操作时手动操作就存在一些Bug每换一套数据就要重新手动操作一遍并且如果处理数据的人员更换这一系列复杂手动操作的可移植性和准确性都比较堪忧。人力因素在处理数据的过程中难以抽离大家很容易变成“表哥”和“表姐”。相比于人工手动操作宏VBA程序因为在运行过程中剔除了人工的因素所以可移植性和准确性都较高。而且编写一段程序相当于对不同的待处理数据固定了相同的“标准”。这个“统计各个部门发明奖励系数总数”的简单小例子着重传达一种程序思维。◉ 第一步打开宏程序编辑界面根据Excel版本的不同可以在 “视图” 中录制一个空的宏停止录制后进行编辑。也可以在Excel选项的自定义功能区中勾选 “开发工具” 访问宏功能。◉ 第二步定义Sub过程及变量我们把完成“按部门加合发明奖励系数”的这个过程定义为bigtitle当然用其他的名字也可以。随后我们要定义四个整型变量i 代表数据区域的行的变量j 代表上一段相同部门底端的行k 代表下一段相同部门底端的行t 代表在一段相同部门的数据范围内变化的行随后我们再定义两个字符串变量str1代表第i行的部门名称str2代表第i1行的部门名称。写为Sub bigtitle()Dim i, j, k, t As IntegerDim str1, str2 As String*程序主体*End Sub◉ 第三步梳理循环和条件逻辑① 第一层循环i从表的第2行循环赋值至第24行在i的每次赋值过程中表中第i列、第3列的部门信息被赋值给str1同时第i1行、第3列的部门信息被赋值给str2。写为For i2 To 24 str1 Sheet2.Cells(i,3) str2 Sheet2.Cells(i1,3) *条件语句*Next② 条件语句当str1不等于str2时说明i所在的行已经到了该相同部门的最后一行从i1行起就进入了下一个部门。这时我们把这个i值赋给k作为该段相同部门底端的行的标记同时把原k值赋给j用于标记上一段相同部门底端的行。在判断str1和str2是否相同时我们使用字符串对比函数StrComp。写为If StrComp(str1, str2, 1) 0 Then j k k i *第二层循环*End If③ 第二层循环当j和k确定后从第j1行到第k行部门名称相同即同一部门。此时设置t变量其循环范围从第j1行到第k行将在此范围内的所有第5列的奖励系数都加总到第k行的第6列。这里需要注意的是应当设置k的初始值为1。写为For t j1 To kSheet2.Cells(k, 6) Sheet2.Cells(k, 6) Sheet2.Cells(t, 5)Next这样运行宏之后就可以得到各个部门的总奖励系数全体Sub过程如下由两层循环和一层条件判断构成给大家做个参考。这样当数据量变大时只需要修改第一层循环中“For i2 To 24”的24至最后一条数据所在行的行数然后重新运行宏即可完成大量数据分段加合的工作。下期预告: Excel宏VBA小技巧系列之整合排序