MATLAB all the way for me (and yes, it does stand for Matrix Laboratory). If you can get the hang of thinking in matrices (e.g. doing tricky matrix indexing, performing operations on a whole matrix at once), and you like working at a command line (which I do), you can do some pretty amazing things very quickly and efficiently.
MATLAB just seems to have a habit of having exactly the function I need - Karthik and I go back and forth about MATLAB and Excel all the time, and once we had a problem where we needed to generate a random permutation of the integers 1 through n. A quick look through the MATLAB help file, and I found randperm(n)...
The other nice thing about MATLAB is that you can actually do (gasp!) for-loops, if statements, functions, etc. (All right, I know there's an 'if' command in Excel, but it's not the same). And if you have large, dynamically-sized sets of data to work with, there's really no comparison.
And yeah, in Excel you can check multiple cases easily, but I prefer to get my calculations right the first time...
