Good post - how about this slightly advanced version of this:

 

The networkdays function has an optional third parameter for "holidays". Let say that the holdays are in a SP list because even fixed holidays like New Years may be observed on a Monday or Friday if the actual holiday falls on the weekend.