日常中的excel-1

前言

目前本人的工作是驻场渗透。日常的工作就是由别人整理好渗透测试的案例,我需要将其导入QualityCenter(QC),然后进行渗透测试,根据测试结果在QC中对案例状态进行变更(比如:no run、pass、failed)

场景

某天收到的案例 excel 表格中缺少了案例编号这一列
日常中的excel-1
而案例编号是由系统名、一级功能、二级功能以及编号组成。比如:贷款-登记-查询-001。我当时的做法是新建案例编号列,手动打出贷款-登记-查询-001,下拉,就行。但是到了二级功能为创建的时候,又得手工打一遍(贷款-登记-创建-001),下拉。一共有400+个案例,这样操作了近30次吧。其实也并没有花太多时间。
日常中的excel-1

思考

下次或许会有新的系统需要案例编号,我又这样傻乎乎的填写下拉一遍?如果案例数有上千条呢?最好还是用excel的函数来解决吧,一劳永逸!
首先实现逻辑上是很清楚的:如果下行的一级功能、二级功能与本行的一致,下行案例编号数+1;如果不同,编号要重新变为001。

编写过程

如果下行的一级功能、二级功能与本行的一致
这里要用到两个函数,分别为AND()、EXACT()
日常中的excel-1
日常中的excel-1
然后结合IF(),单单看编号,如果下行的一级功能、二级功能与本行的一致,下行案例编号数+1;如果不同,编号要重新变为1
日常中的excel-1
接着就可以完成一个半成品了
日常中的excel-1

编号001问题

接下来的问题在于,编号需要是001、002这样的,而不是1、2。这是我编写时遇到的最大的难点,因为:如果需要输入001,你需要修改单元格格式为文本,才能成功输入,而当它变为文本时,会出现问题:
日常中的excel-1
一个朋友帮忙解决了,要点是使用TEXT()函数
日常中的excel-1

实现效果

最终成功实现所需要的:
日常中的excel-1
日常中的excel-1
虽然成功实现了需要的功能,但是需要借助辅助列(E列),如果E列消失,我们的案例编号列(C列)就会出问题。

整合(去辅助列)

日常中的excel-1

感悟

有位大佬曾经说过一句,当一件事需要你做3次及以上时,你就需要考虑将其自动化。这次终于成功实践了一把,也算是一种进步吧!

上一篇:001、【byhy】 在线验证正在表达式是否正确


下一篇:Photoshop照片合成梦幻海岸之光教程