早教吧 育儿知识 作业答案 考试题库 百科 知识分享

函数解读=IF(C2="","",IF(D2="老规则条码",IFERROR((VLOOKUP(MID(B2,3,5),货号年度!$A:$B,2,FALSE)),"货号解析错误=IF(OR(E2="",E2="货号解析错误!"),"",IF(D2="老规则条码",IFERROR(VLOOKUP("00"&MID(B2,8,3)&LEFT(K2,4),年度颜色!

题目详情
函数解读 =IF(C2="","",IF(D2="老规则条码",IFERROR((VLOOKUP(MID(B2,3,5),货号年度!$A:$B,2,FALSE)),"货号解析错误
=IF(OR(E2="",E2="货号解析错误!"),"",IF(D2="老规则条码",IFERROR(VLOOKUP("00"&MID(B2,8,3)&LEFT(K2,4),年度颜色!$A:$C,3,0),"颜色资料不匹配!"),IFERROR(VLOOKUP(MID(B2,6,5)&LEFT(K2,4),年度颜色!$A:$C,3,0),"颜色资料不匹配!")))
=IF(OR(E2="",E2="货号解析错误!"),"",IF(D2="老规则条码",IFERROR(VLOOKUP(MID(B2,8,3)&LEFT(K2,4),年度颜色!$A:$D,4,0),"颜色资料不匹配!"),IFERROR(VLOOKUP(MID(B2,6,5)&LEFT(K2,4),年度颜色!$A:$D,4,0),"颜色资料不匹配!")))
▼优质解答
答案和解析
以上公式主要包含了六个函数IF、IFERROR、VLOOKUP、MID、LEFT和OR

第一个公式解读如下(输入公式的单元格下称“本单元格”)
=IF(C2="","",IF(D2="老规则条码",IFERROR((VLOOKUP(MID(B2,3,5),货号年度!$A:$B,2,FALSE)),"货号解析错误")))
如果当前表的C2单元格为空(无数据),则本单元格显示空(即不显示任何数据);如果当前表的D2单元格为“老规则条码”,则先到“货号年度”表中的A列到B列的数据区域的第2列(实为“货号年度”表的B列)去检索是否存在从当前表的B2单元格中截取的第3个字符开始的5个字符构成的字符串数据(即5位数据),如果检索到,则在本单元格显示所截取的5位数据;如果没有检索到,则在本单元格显示“货号解析错误”字样.
说明:这里函数VLOOKUP中的参数FALSE,表示被检索的“货号年度”表没有排序,此时检索将从第一行开始一直到结束.还有$,表示绝对引用数据.

第二个公式与第三个公式基本类似,以第二个公式为例解读如下:
=IF(OR(E2="",E2="货号解析错误!"),"",IF(D2="老规则条码",IFERROR(VLOOKUP("00"&MID(B2,8,3)&LEFT(K2,4),年度颜色!$A:$C,3,0),"颜色资料不匹配!"),IFERROR(VLOOKUP(MID(B2,6,5)&LEFT(K2,4),年度颜色!$A:$C,3,0),"颜色资料不匹配!")))
如果当前表的E2单元格为空或者其数据值为“货号解析错误”,则本单元格显示空;如果当前表的D2单元格为“老规则条码”,则到“年度颜色”表中的A列到C列数据区域的第3列(实为“年度颜色”表的C列)去检索是否存在由以下三部分构成的字符串数据(即以00开头的9位数据):前面两位是00,中间三位是从当前表的B2单元格中截取的第8个字符开始的3个字符,后面三位是从当前表的K2单元格中截取的左侧4个字符.如果检索到,则在本单元格显示这个9位数据;如果没有检索到,则在本单元格显示“颜色资料不匹配!”.如果当前表的D2单元格不是“老规则条码”,且当前表的E2单元格不为空或者其数据值不为“货号解析错误”,也就是说D2是其它一些数据,则到“年度颜色”表中的A列到C列数据区域的第3列去检索是否存在由以下两部分构成的9位字符串数据:前面五位是从当前表的B2单元格中截取的第6个字符开始的5个字符,后面四位是从当前表的K2单元格中截取的左侧4个字符.如果检索到,则在本单元格显示这个9位数据;如果没有检索到,则在本单元格显示“颜色资料不匹配!”.
说明:这个公式中“&”即and的意思,其作用是连接字符串.