the function: =CHOOSE(3,B31:B34) returns "#VALUE!"

BUT

the function =CHOOSE(3,B31,B32,B33,B34) returns what's in cell B33

this truly has me baffled.

Please keep in mind my original formula is very complicated, and "CHOOSE" is the easiest and most elegant way to do what i need to do. In other words, i am not simply choosing between 4 values, and the "choose" function is embedded into other functions that work when i type out the array, so please do not be mislead by this.

at this point, it's not really a matter of solving my problem, because i know i can just type out the array. instead, i want to understand what's going on, and why i can't do what the office help file says i should be able to do.

i'm running excel 2010.
any thoughts?
thanks!
W.