当前位置: 首页 >电缆动态 >2018.09.26 工作和函数故事之02 输入输出端子和VLOOKUP

2018.09.26 工作和函数故事之02 输入输出端子和VLOOKUP

2023-05-10 14:56:27

1. 背景:输入输出端子表用于表达电气开关柜到仪表机柜的端子接线信息,包括设备有哪些信号,信号如何组合,通过哪些控制电缆传输以及控制电缆两头接哪个盘柜,哪个端子排和哪个端子。
2. 问题:根据分工,该电缆由电气专业设计并开料,相应的输入输出端子表也在电气专业出图,由于DCS的具体端子排布是由供货商完成的,时间上存在时间差。而且输入输出端子表上的仪表侧部分内容比较繁琐,容易扯皮,与其花时间扯皮,不如想想看有什么解决方法。其实可以利用函数轻松解决,具体如下
3. 解决方法
3.1. 输入输出端子表格式
 

3.2. DCS厂家的原始资料
 

其中有用的信息就三列
 

3.3. 对比3.1和3.2的两个表格,发现“仪表位号”是两者之间可以关联的关键字,相比于常规的根据设备位号和信号名称来回对比填写的手工操作,可以通过仪表位号用公式自动进行检索查询。
3.4. 首先在输入输出端子表的非打印区域填写每个信号的仪表位号(见表格阴影部分)
3.5. 其次,对于盘柜号所在的列,输入公式“VLOOKUP(O9, DCS'!$I:$L,2,0)”,该公式表示根据输入输出端子表O9单元格中的仪表位号,在DCS表中查找对应的数据(列I到L,其中列I也是仪表位号所在列),并把它右边的第2列(含自身)数据作为公式结果,公式中的最后一个0表示精确匹配。
3.6. 对于端子排所在的列,输入公式“VLOOKUP(O9, DCS'!$I:$L,3,0)”;
3.7. 对于端子所在的列,  输入公式“VLOOKUP(O9, DCS'!$I:$L,4,0)”
3.8. 填充公式,得到中间成品
 

3.9. 3.7中奇数行的结果对了,偶数行出了问题,原因是仪表位号列合并单元格后,默认奇数列有数据,偶数列是为空,因此先在P列构造一个辅助列,公式为“=MOD(ROW()+1,2)”,将行号对2取余数,即得到了奇数或者偶数行。
3.10. 在端子列输入公式“=INDEX('DCS'!$L:$L,MATCH(OFFSET(O9,-P9,0),'DCS'!$I:$I,0)+P9)”,即当本行为奇数时,读取O9的数值,并查找返回对应的端子;当本行为偶数时,读取O列前一行的数值,并返回对应的端子所在单元格的下一行的数值,可见对于“20HSP9003-1”而言,第9行对应的端子是1,第10行对应的端子是2,搞定!
4. 总结:Vlookup和Index+match是两个都可以用于查表的函数,相比之下,前者简单,后者更强大。