如果A11的值为"前处理",就看是否能在 新标表$C$6:$J$3803中的第一列找到“前处理”这个值,找到就返回第二列的对应值,否则就返回空值。
如果A11的值不为"前处理",就看是否值为“地盤”,如是,就到 新标表 $M$6:$S3892中的第一列找“地盤”,没有则显示空,有则返回$M$6:$S3892区域中 地盤 所对应行的第二列数值。
如果A11的值不为"地盤",就看是否值为“液挂”,如是,就到 新标表 $W$6:$AC$4869 区域中的第一列查找等于 B11 的值,没有则显示空,有则返回$W$6:$AC$4869区域中 等于B11值的单元格所在行的第二列数值。
要是A11的值不为"前处理"、"地盤"、"液挂"中的任何一个,而且 新标表 $AG$6:$AM$4188 区域中第一列也找不到等于单元格 B11的值,就返回空值。否则在 新标表 $AG$6:$AM$4188 区域第一列找到等于 B11的单元格,并返回其所在行的第二列数值
ISERROR(VLOOKUP(B11,新标!$C$6:$J$3803,2,0))=TRUE是判断在 新标 表的$C$6:$J$3803区域第一列找不到B11的值;VLOOKUP(B11,新标!$C$6:$J$3803,2,0则是尝试在 新标 表的$C$6:$J$3803区域第一列找到B11的值
先理思路,再看看
IF(A11="前处理",IF(ISERROR(VLOOKUP(B11,新标!$C$6:$J$3803,2,0))=TRUE,"",VLOOKUP(B11,新标!$C$6:$J$3803,2,0)),IF(A11="地盤",IF(ISERROR(VLOOKUP(B11,新标!$M$6:$S3892,2,0))=TRUE,"",VLOOKUP(B11,新标!$M$6:$S3892,2,0)),IF(A11="液挂",IF(ISERROR(VLOOKUP(B11,新标!$W$6:$AC$4869,2,0))=TRUE,"",VLOOKUP(B11,新标!$W$6:$AC$4869,2,0)),IF(ISERROR(VLOOKUP(B11,新标!$AG$6:$AM$4188,2,0))=TRUE,"",VLOOKUP(B11,新标!$AG$6:$AM$4188,2,0)))))
根据A11的结果,判断B11在是否存在
判断a11值 是 B11
“前处理” 新标!$C$6:$J$3803 存在?存在返回在d(c+2-1)列对应值,不存返空格
“地盤” 新标!$M$6:$S3892是否存在,不存在 返回空格
“液挂” 新标!$W$6:$AC$4869是否存在,不存在 返回空格
里面有几个公式:
iserror 判断是否报错(查询不到b11的值)
vlookup 查询对应的值 “前处理” 新标!$C$6:$J$3803 是否存在,不存在 返回空格
if(条件,满足,不满足)
希望能帮助你
在2007中,你的公式可以简化为
=IFERROR(VLOOKUP(B11,OFFSET(C$6:D$3803,,MIN(IF(A11={"前处理","地盤","液挂"},{1,2,3},4))*10-10),2,),"")
根据A11的值引用B11在新标这个工作表中对应的值.