文章转自《XRITE-REPAIR 爱色丽维修 | www.xrite-repair.com》,作者地瓜君
这两天遇到一个问题,获取了爱色丽intellitrax扫描后得到的 .SVF 文件,需要获取常规的如KCMY实地密度、25/50/75网点、叠印信息等等,开始以为仪器扫描后的色带信息和色带一样,都是规则的,算法也是基于规则的情况下编写的,但最终测试的时候傻眼了,并不是规则的。
其他不多说了,直接上问题和解决方案,其实如果你真正看懂了这篇文章,后面遇到任何使用excel选取数据的问题,都可以迎刃而解!
先说实际需求
需要根据以下的表格,找到满足Type=Solid,并且Channel=Y的所有测量VCMY密度和Lab数据,
翻译给excel就是:找到满足在D列和G列中指定条件的Z:AF的数据。
处理后希望得到的结果是统计每个色块的测量信息,如下图的处理结果:
实话说,费了一些功夫,对于一个不太懂语言和编程的人确实难了些,直到发现了一个神器!就是excel公式中的SMALL公式,直接上解决方案:
=VALUE(INDEX(数据粘贴区!Z:Z,SMALL(IF(数据粘贴区!$D$1:$D$1000="Solid",IF(数据粘贴区!$G$1:$G$1000="Y",ROW($1:$1000),4^8),4^8),ROW($Z1)))&"")
关于这个公式的具体分解,不再说明,感兴趣的小伙伴移步到这里:
INDEX+SMALL+IF+ROW函数组合使用解析 https://blog.csdn.net/mfkpie/article/details/26883061
我是看了这边文章后,醍醐灌顶的。
excel处理数据的公式确实比较强大,分享这个方法出来,主要是想分享这个理念,因为现实情况中我们这种没有什么编程语言基础的,是很少能借力于专业的编程工具的,最接地气的就是excel,而从杂乱的数据中找到想要的,也是很多情况下的刚需,谨以此文献给出差中的自己。