Okay try:
=IF(LEFT(O9,3)="DBC",150,IF(ISNA(IF(O9<>"",IF(LEFT(O9)="B",VLOOKUP(MID(O9,2,4)+0,COMPSB!A:AP,42,FALSE),IF(E9<>"",IF(E9="New",VLOOKUP(O9,'COMPSW-NS'!D:AP,35,FALSE),VLOOKUP(O9,'COMPSW-OS'!D:AP,35,FALSE)),"")),"")),"",IF(O9<>"",IF(LEFT(O9)="B",VLOOKUP(MID(O9,2,4)+0,COMPSB!A:AP,42,FALSE),IF(E9<>"",IF(E9="New",VLOOKUP(O9,'COMPSW-NS'!D:AP,35,FALSE),VLOOKUP(O9,'COMPSW-OS'!D:AP,35,FALSE)),"")),"")))
or shorter and probably more efficient:
=IF(LEFT(O9,3)="DBC",150,LOOKUP(9.999999999E+307,CHOOSE({1,2},0,IF(O9<>"",IF(LEFT(O9)="B",VLOOKUP(MID(O9,2,4)+0,COMPSB!A:AP,42,FALSE),IF(E9<>"",IF(E9="New",VLOOKUP(O9,'COMPSW-NS'!D:AP,35,FALSE),VLOOKUP(O9,'COMPSW-OS'!D:AP,35,FALSE)),"")),""))))
this last formula will return 0, if the Vlookup() results are #N/A... so you can format that cell as 0;-0;;@ to blank out the 0.
Bookmarks