At the risk of beating a dead horse, since
Poisson(x,mean,TRUE) = ChiDist(2*mean,2*(x+1))
as noted in the referenced article, it follows that
Poisson(x,mean,FALSE) = ChiDist(2*mean,2*(x+1)) - ChiDist(2*mean,2*x)
The relationship is mathematically exact, but not numerically exact.
As the OP doubtless already knows, the pre-2003 Poisson() function
returns #NUM! for mean=1000 and x>102 (and incorrectly returns zero for
86<=x<=102). Here the ChiDist cumulative equivalent gives at least 7
figure accuracy, where it returns a value at all, but it also returns
#NUM! for 1000<=x<=1084, which corresponds to cumulative probabilities
between 0.50 and 0.996. The ChiDist non-cumulative equivalent gives at
least 5-figure accuracy, where it returns a value at all, except for
x=86, which only gives 1 figure accuracy. The loss of accuracy for for
the non-cumulative form is due to cancellation of significant figures in
the subtraction.
Lack of coverage for cumulative probabilities between 0.50 and 0.996
seems to me like a rather serious hole in the ChiDist function. You
could use the normal approximation, or you could improve on it with the
Wilson-Hilferty approximation or by adding various terms of the
Edgeworth expansion (consult Abramowitz and Stegun's "Handbook of
Mathematical Functions" or Johnson and Kotz's "Continuous Univariate
Distributions" for details).
As noted in the referenced article, none of these will beat Ian Smith's
VBA code at
http://members.aol.com/iandjmsmith/Examples.xls
Jerry