If 5k is his budget, he can build the 2600k system. If he plays with that for a while and determines it's not enough, he can build a 990x system....
and still have money leftover.
If you overclock the 2600k to a comfortable overclock (4.3-4.5GHz) You're looking at being 5x faster JUST on clock speed and core count. probably another 20-50% on the architecture improvements.
Most noticeable, is that you can probably use the machine for other stuff just fine while crunching.
Also, I have done quite a bit of Excel macro work in my time, and I have seen some really terribly programmed macros. Excel is one of those things that most people have access to. Macros are used to adapt Excel to do something it wasn't really designed for just because it's software someone has, and they aren't allowed to buy better software. This promotes some people into being programmers who are NOT programmers, but they fiddle enough with excel, trusty VB for Excel book by their side, and they get it to do what they want.
These kind of people make really, really, messy and inefficient macros.
I turned one that took over six minutes of processing into one that required about 20 seconds of processing by changing the way the code works and turning application screen updates off during processing. If he's willing to spend 5k on a computer to make his macros run better... perhaps call in a consultant for a few hours to give the macros a once over and make sure they aren't the primary source of the problem. For a few hundred dollars you might not get him to re-write the macros for you, but he can at least point out any glaring sources of inefficiency.
Most of the issues I've seen with macros are really simple things. In the extreme case I noted it was really 2 things. application.screenupdating=false in the beginning (plus the accompanying true at the end), then reading excel spreadsheet values into an array instead of continually referring to the sheets. It was making so many calls to so many sheets, it was MUCH faster to just read entire sheets into a big array, then reference array locations instead of flipping back and forth to the various sheets. HUGE efficiency improvements for a couple hours worth of work.