n! is very laborious to calculate for high values of n because it requires doing (n-1) individual multiplications. The following equation [by a Scots mathematician James Stirling (1692-1770)], known as the Stirling formula, can be used instead to get a very close approximation:
\Big(\frac{n}{e}\Big)^{n} \sqrt{2 \pi m}\Big(\frac{n}{12n+1}\Big)<n!< \Big(\frac{n}{e}\Big)^{n} \sqrt{2 \pi m} |
An n gets larger the two limits rapidly approach each other, and a commonly quoted simplification of Stirling's formula is thus:
n!\sim\sqrt{2 \pi n}\Big(\frac{n}{e}\Big)^{n} |
The equation is sometimes useful for ratios of factorials, as is often needed in probability calculations. However, in general we find using a gamma function easier and more accurate:
\Gamma (n+1)=n! |
So Excel's GAMMALN(x+1) = Log(x!), and calculating x!/y! is:
EXP(GAMMALN(x+1)- GAMMALN(y+1))
The ratio of the factorials is done in logs which means you can handle much higher numbers. For example, using FACT(1002)/FACT(999) to calculate 1002! / 999! will generate an error as Excel tries to calculate both large factorials. However, EXP(GAMMALN(1003)- GAMMALN(1000)) gives the value 1003001999.99923 which compares well against the true answer of 1000*1001*1002 = 1003002000.