Isso funciona:
=IF(ISERROR(MATCH(1,(A2:A24="foo")*(B2:B24="bar")*(C2:C449=TRUE),0)),3,IF(ISERROR(MATCH(1,1*(D2:D449="foobar"),0)),2,1))
Você não precisa verificar A, B e C pela segunda vez, porque a única maneira de chegar ao segundo IF () é quando os valores corretos foram encontrados lá.
Editar: sua fórmula publicada também funciona corretamente. Mas ambas as fórmulas são array e devem ser digitadas com Ctrl + Shift + Enter