I found this post a few days ago and just got around to testing it. It does not appear to work in all cases. I have sales dates and invoice dates in a table, and I returned a sample of 250 dates where the invoice date > sales date, and the sales date was on or after 5/15/2009. I entered the formula as provided in Webi, then copied the results to Excel. I then calculated the business days between the two dates manually and compared the results. Here are some sample results.
5/15/2009 is Friday, and 5/29/2009 is a Friday two weeks away. This formula returns 11. That is correct, assuming you count the starting Friday as one of the business days. (In other words, today - today is counted as one business day, not zero. The formula behaved as I expected it to.)
5/16/2009 is Saturday, and 5/20/2009 is the following Wednesday. This formula returns 3 days, which is correct. There are 3 business days between Saturday and Wednesday (counting Mon, Tue, and Wed only).
5/17/2009 is Sunday, and 5/22/2009 is the following Friday. The formula returns 4 and should return 5. There are five business days in a week, and Sun - Fri returns that entire range, so the value should be 5. After further investigation, any row where the start date was a Sunday failed.
That would be okay, as I could put an exception case in place to handle every range that started on a Sunday. However, I did find one case where a row failed when the start date was not a Sunday, but instead was a Monday.
Here is the exact formula I used for testing:
=Floor((DaysBetween([Sales Order Date];[Sales Order Invoice Date])) - Truncate((DayNumberOfWeek([Sales Order Date]) + DaysBetween([Sales Order Date];[Sales Order Invoice Date])) /7 ;0)*2)+1
And here is the data I used. The columns in this table are the start date, the end date, the value returned by the formula, the expected value, the difference or error, and what day (name) the range started with. I have marked the rows with calculation errors. Note that every row where the start date was Sunday was off by -1, and there was one other row that was off by +1 and started on a Monday.
Start Date End Date Calc Actual Error Start Day
5/15/2009 5/29/2009 11 11 0 Fri
5/16/2009 5/20/2009 3 3 0 Sat
5/17/2009 5/22/2009 4 5 -1 Sun ***
5/17/2009 6/1/2009 10 11 -1 Sun ***
5/18/2009 5/25/2009 6 6 0 Mon
5/18/2009 5/26/2009 7 7 0 Mon
5/19/2009 5/28/2009 8 8 0 Tue
5/19/2009 6/10/2009 17 17 0 Tue
5/20/2009 5/20/2009 1 1 0 Wed
5/21/2009 5/28/2009 6 6 0 Thu
5/21/2009 6/1/2009 8 8 0 Thu
5/24/2009 5/28/2009 3 4 -1 Sun ***
5/25/2009 5/26/2009 2 2 0 Mon
5/26/2009 6/4/2009 8 8 0 Tue
5/27/2009 6/11/2009 12 12 0 Wed
5/28/2009 5/28/2009 1 1 0 Thu
5/29/2009 6/8/2009 7 7 0 Fri
5/31/2009 6/4/2009 3 4 -1 Sun ***
6/1/2009 6/11/2009 9 9 0 Mon
6/1/2009 6/20/2009 16 15 1 Mon ***
6/2/2009 6/8/2009 5 5 0 Tue
6/3/2009 6/3/2009 1 1 0 Wed
6/4/2009 6/8/2009 3 3 0 Thu
6/4/2009 6/10/2009 5 5 0 Thu
After this I did a bit more research and found out that any row ending on Saturday was +1. Well, unless the same range started on Sunday, at which point the Sunday error of -1 cancelled out the Saturday error of +1 and I got the correct result. 
In any case, I plan to investigate this formula further as it does seem to do a good job in most cases. But to anyone using this formula, I would suggest that you test it thoroughly as it did not return the correct results in my case for all rows.
Dave Rathbun
(BOB member since 2002-06-06)