Qu'est-ce que la fonction LNGAMMA ?
LNGAMMA (même nom en anglais : GAMMALN) te sert de porte de sortie quand un calcul de factorielle ou de coefficient binomial explose bien avant que tu obtiennes ton résultat. Tu passes par le logarithme pour rester dans des valeurs manipulables, puis tu additionnes ou soustrais au lieu de multiplier et diviser des nombres à des centaines de chiffres.
Elle évite les débordements de calcul qui bloqueraient ta feuille Excel avec la fonction GAMMA classique. Indispensable pour les data scientists (modèles bayésiens), les analystes quantitatifs (vraisemblance logarithmique), les actuaires (tables de mortalité) et les chercheurs en physique (coefficients binomiaux géants).

Comprendre chaque paramètre de la fonction LNGAMMA
x
: le nombre dont tu veux calculer le logarithme naturel de la fonction gammaIl doit être strictement positif. Tu peux fournir une valeur numérique directe (comme 5 ou 0,5) ou une référence à une cellule contenant un nombre.
Exemple : =LNGAMMA(A2) calcule le logarithme naturel de gamma pour la valeur de la cellule A2. Si A2 contient 5, le résultat sera LN(4!) = LN(24) ≈ 3,18.
Attention : Si tu passes un nombre négatif ou zéro à LNGAMMA, Excel retourne #NOMBRE!. La fonction gamma n'est définie que pour les valeurs positives. Utilise =SI(A1>0; LNGAMMA(A1); "Erreur") si tes données peuvent contenir des valeurs non positives.

Exemples pratiques pas à pas
Comment calculer le logarithme naturel de la fonction gamma avec la fonction LNGAMMA
Tu reprends une densité de loi Beta écrite en notation mathématique, où les constantes de normalisation sont posées en Γ et pas en factorielles, et tu dois l'évaluer ligne par ligne dans ta feuille. Chaque calcul apporte son paramètre, et il te faut le logarithme de Γ en face pour enchaîner sur la vraisemblance sans que les valeurs intermédiaires explosent en route. La fonction LNGAMMA rend ce logarithme directement, sans jamais passer par la valeur de Γ elle-même.
- 1Dans une cellule, écris
=LNGAMMA(. - 2En 1er argument : clique sur la cellule qui porte le nombre dont tu veux le logarithme de Γ,
B2. Elle affiche5sur la première ligne. Cet argument doit rester strictement positif, sans quoi la fonction renvoie#NOMBRE!. - 3Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas. Sur un entier, Γ(n) vaut
(n-1)!, ce que confirme la ligne3, qui rend0,6931, soitLN(2)et nonLN(6).
=LNGAMMA(B2)3,1781, qui est LN(24), sans que 24 apparaisse nulle part. Sur un argument aussi petit que 5 le détour ne se verrait pas, mais c'est ce chemin direct qui lui permet de tenir là où la valeur de Γ ne tiendrait plus dans une cellule.Comment calculer le logarithme naturel d'une factorielle géante avec la fonction LNGAMMA
Tu compares des ordres de grandeur combinatoires sur des tailles qui vont de quelques unités à plusieurs milliers, et il te faut le logarithme de n! sur chaque ligne. Le calcul direct s'arrête net : au-delà de 170, la factorielle dépasse la plus grande valeur qu'Excel sache stocker et ta colonne se remplit d'erreurs, alors que son logarithme reste un nombre tout à fait ordinaire. La fonction LNGAMMA va chercher ce logarithme sans jamais former la factorielle qui pose problème.
- 1Dans une cellule, écris
=LNGAMMA(. - 2En 1er argument : clique sur la cellule qui porte
n,B2, puis complète par+1. Ce+1fait passer de Γ à la factorielle, parce queLNGAMMA(n+1)rendLN(n!)là oùLNGAMMA(n)s'arrêterait àLN((n-1)!). - 3Ferme la parenthèse et appuie sur Entrée, puis recopie vers le bas. La ligne
5rend4,7875, soitLN(120), tandis que les lignes170,171et1000restent des nombres ordinaires là où un calcul de factorielle direct renvoie#NOMBRE!dès171.
=LNGAMMA(B2+1)+1 glissé dans l'argument est ce qui recale Γ sur la factorielle : puisque Γ(n) vaut (n-1)!, c'est bien LNGAMMA(n+1) qui rend LN(n!), donc 4,7875 est le logarithme de 120. La colonne continue ensuite sans broncher jusqu'à 1000, là où un calcul direct de factorielle rend #NOMBRE! dès 171.Comment calculer le logarithme d'un coefficient binomial avec la fonction LNGAMMA
Tu dois comparer le nombre de tirages possibles entre plusieurs protocoles d'échantillonnage, et ces nombres se comptent en dizaines puis en centaines de chiffres. Les comparer directement ne mène nulle part puisqu'aucun d'eux ne tient dans une cellule, alors que leurs logarithmes se rangent sagement entre 60 et 350 et se lisent d'un coup d'oeil. La fonction LNGAMMA construit ce logarithme terme à terme, sans jamais former les factorielles qui bloqueraient le calcul.
- 1Dans une cellule, écris
=LNGAMMA(. - 2En 1er argument : clique sur la cellule qui porte
n,B2, puis complète par+1. Ce premier appel construit le numérateurLN(n!), où le+1recale Γ sur la factorielle. - 3Ferme la parenthèse, complète par
-LNGAMMA(C2+1)-LNGAMMA(B2-C2+1), puis appuie sur Entrée. Ces deux appels se soustraient parce que diviser park!puis par(n-k)!revient à retrancher leurs logarithmes, ce qui traduitC(n;k) = n! / (k! × (n-k)!)en additions et soustractions.
=LNGAMMA(B2+1)-LNGAMMA(C2+1)-LNGAMMA(B2-C2+1)C(n;k) = n! / (k! × (n-k)!) en logarithmes, où chaque division devient une soustraction. Le résultat se contrôle sur la première ligne : EXP(66,7838) rend 1,0089E+29, exactement la valeur que rend COMBIN sur les mêmes 100 et 50. Sur la ligne 500, ce retour en arrière n'est plus possible, parce que le nombre visé compte 149 chiffres.
Les erreurs fréquentes avec la fonction LNGAMMA
Avec LNGAMMA, deux ennuis reviennent sans cesse, et le plus piégeux n'affiche même pas d'erreur. Comme GAMMA(n) = (n-1)!, LNGAMMA(5) te donne LN(24) et non LN(120) : ce décalage d'un cran te file un résultat faux sans rien signaler. L'autre cas, lui, est franc : passe zéro ou un négatif et Excel te renvoie #NOMBRE!, car la fonction gamma n'est définie que pour les valeurs strictement positives.
Erreur #NOMBRE! avec un nombre négatif ou zéro
LNGAMMA n'accepte que les nombres strictement positifs. Une valeur inférieure ou égale à zéro déclenche #NOMBRE! car la fonction gamma n'est pas définie sur les entiers négatifs ou nuls.
Solution : Vérifie que ta cellule contient une valeur strictement positive avant d'appeler LNGAMMA. Utilise =SI(A1>0; LNGAMMA(A1); "Valeur non valide") si tes données peuvent contenir des zéros ou des négatifs.
Confusion entre LNGAMMA(n) et LN(n!)
Pour les entiers, GAMMA(n) = (n-1)!, pas n!. Donc LNGAMMA(5) = LN(4!) = LN(24) ≈ 3,18, pas LN(5!) = LN(120). Cette nuance d'un décalage d'un cran est la source d'erreur la plus classique.
Solution : Pour calculer LN(n!) avec LNGAMMA, utilise =LNGAMMA(n+1). Par exemple, =LNGAMMA(6) te donne LN(5!) = LN(120). Retiens : LNGAMMA(n) = LN((n-1)!), donc décale toujours d'un cran.
Confondre LNGAMMA et LN(GAMMA(x))
Pour les petits nombres, LNGAMMA(x) et LN(GAMMA(x)) donnent le même résultat. Mais pour les grands nombres, seul LNGAMMA fonctionne car GAMMA déborde avant que LN puisse s'appliquer.
Solution : Utilise toujours LNGAMMA directement. Pour x > 170, GAMMA(x) retourne #NOMBRE! et LN ne peut pas s'y appliquer. LNGAMMA gère correctement des valeurs bien au-delà de 170 sans débordement.

Astuces avancées avec LNGAMMA
Multiplie des gammas sans débordement en additionnant des LNGAMMA
Pour calculer le produit GAMMA(a) × GAMMA(b), passe par les logarithmes : LNGAMMA(a) + LNGAMMA(b) te donne LN(GAMMA(a) × GAMMA(b)). Tu récupères la vraie valeur avec =EXP(LNGAMMA(a) + LNGAMMA(b)) si le résultat reste dans les limites d'Excel.
Cette propriété des logarithmes transforme les multiplications en additions, ce qui stabilise tous les calculs impliquant plusieurs gamma.
Calcule des coefficients binomiaux pour n et k très grands
La formule =EXP(LNGAMMA(n+1) - LNGAMMA(k+1) - LNGAMMA(n-k+1)) te donne C(n,k) sans débordement, pour des valeurs de n bien au-delà de 170 où FACTORIELLE échoue.
Pour n > 300, le résultat lui-même déborde aussi dans EXP. Reste alors en log (sans le EXP) pour comparer des ordres de grandeur ou effectuer des ratios.
Densité de la loi beta en log pour les modèles bayésiens
La log-densité de la loi beta vaut LNGAMMA(α+β) - LNGAMMA(α) - LNGAMMA(β) + (α-1)*LN(x) + (β-1)*LN(1-x). Cette formule est le coeur des modèles bayésiens sur des proportions (taux de conversion, taux de défaut).
Travailler en log depuis le début évite tous les débordements intermédiaires même pour des α et β élevés.

LNGAMMA vs GAMMA vs FACTORIELLE vs LN
Choisis LNGAMMA dès que tes valeurs grimpent : au-delà de x > 170, GAMMA et FACTORIELLE débordent et renvoient #NOMBRE!, là où LNGAMMA reste stable. Garde GAMMA pour les petits x quand tu veux directement la valeur, et FACTORIELLE quand tu te limites à des entiers en combinatoire simple.
| Critère | LNGAMMA | GAMMA | FACTORIELLE | LN |
|---|---|---|---|---|
| Résultat | LN(Gamma(x)) | Gamma(x) | n! | Logarithme naturel |
| Grands nombres (x > 170) | ✅ Excellent | ❌ Déborde | ❌ Déborde | ⚠️ Selon l'entrée |
| Nombres décimaux | ✅ Oui | ✅ Oui | ❌ Entiers seulement | ✅ Oui |
| Stabilité numérique | ⭐⭐⭐ | ⭐ | ⭐ | ⭐⭐⭐ |
| Usage principal | Statistiques avancées, bayésien | Calculs directs (petits x) | Combinatoire simple | Tous logarithmes |
Questions fréquentes
LNGAMMA retourne le logarithme naturel du résultat de GAMMA, ce qui permet de travailler avec des nombres beaucoup plus grands sans dépasser les limites d'Excel. Pour x > 170, GAMMA retourne #NOMBRE!, mais LNGAMMA fonctionne parfaitement. Pour les petits x, les deux fonctions sont reliées par LNGAMMA(x) = LN(GAMMA(x)).
Le logarithme compresse les très grandes valeurs en nombres manipulables. Par exemple, GAMMA(100) vaut environ 9,3 × 10^155, un nombre impossible à stocker dans Excel. LNGAMMA(100) vaut environ 359, beaucoup plus facile à utiliser. De plus, les logarithmes transforment les multiplications en additions, ce qui stabilise numériquement les calculs complexes.
Non, LNGAMMA accepte uniquement les nombres strictement positifs. Si tu passes un nombre négatif ou zéro, Excel retourne #NOMBRE!. La fonction gamma mathématique est définie pour les négatifs non entiers, mais l'implémentation Excel se limite aux positifs.
LNGAMMA est essentiel en statistiques (distributions de probabilité, tests d'hypothèses), en modélisation bayésienne (distributions a priori conjuguées), en finance quantitative (log-vraisemblance, risque de crédit), en actuariat (tables de mortalité) et en physique (mécanique statistique, combinatoire).
Pour obtenir la valeur de gamma à partir de LNGAMMA, utilise =EXP(LNGAMMA(x)). Cela équivaut à GAMMA(x) pour les petites valeurs. Attention : si x est grand (x > 170 environ), EXP(LNGAMMA(x)) déborde quand même dans Excel, même si LNGAMMA seul fonctionnait. Dans ce cas, reste en échelle logarithmique.
Pour aller plus loin
Continue sur ta lancée après la fonction LNGAMMA : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



