BYROW (même nom en anglais) applique une fonction LAMBDA à chaque ligne d'un tableau et retourne un résultat par ligne sous forme de tableau vertical. C'est une fonction Excel 365 de la famille LAMBDA.
Traditionnellement, pour appliquer un calcul à chaque ligne, tu créais une formule puis tu la copiais vers le bas sur des dizaines ou centaines de lignes. BYROW résout ce problème : tu définis une seule fois la logique via LAMBDA, et Excel l'applique automatiquement à chaque ligne. Résultat : une seule formule au lieu de centaines, qui se met à jour automatiquement quand tes données changent.
Syntaxe de la fonction BYROW
=BYROW(tableau; lambda)BYROW est disponible uniquement dans Excel 365 et Excel 2021+. Elle retourne un tableau dynamique vertical : assure-toi que les cellules en dessous de la formule sont vides pour éviter l'erreur de débordement.
Comprendre chaque paramètre de la fonction BYROW
BYROW attend deux choses dans cet ordre : d'abord le tableau à parcourir, ensuite le LAMBDA qui dit quoi faire de chaque ligne. Les deux sont obligatoires, et le piège n'est pas leur présence mais leur rôle : la première moitié pose les données, la seconde pose le calcul, jamais l'inverse.
Le LAMBDA reçoit une ligne entière (un tableau horizontal de plusieurs valeurs), pas une cellule, donc choisis-y des fonctions qui digèrent un tableau comme SOMME ou MOYENNE.
tableau
: le tableau ou la plage de cellules à traiter ligne par ligneChaque ligne est extraite comme un tableau horizontal et passée à ton LAMBDA.
La plage doit être rectangulaire (toutes les lignes ont le même nombre de colonnes). Par exemple, A1:D10 passe 10 fois un tableau de 4 valeurs à ton LAMBDA.
Astuce : Si ton tableau source grandit (nouvelles lignes ajoutées), réfère-toi à un Tableau structuré (Tableau1) plutôt qu'à une plage fixe : la formule BYROW s'adaptera automatiquement.
lambda
: la fonction LAMBDA à appliquer sur chaque ligneElle doit accepter un seul paramètre (la ligne courante, un tableau horizontal) et retourner une valeur unique.
Syntaxe : LAMBDA(ligne; SOMME(ligne)) pour calculer la somme de chaque ligne. Le nom du paramètre (ligne ici) est libre : choisis un nom lisible.
Exemples pratiques pas à pas
Responsable commercial : total par ligne de commande
Tu es responsable commercial et tu as un tableau de commandes où chaque ligne représente une commande avec plusieurs produits. Tu veux calculer le montant total de chaque commande en une seule formule.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Produit A | Produit B | Produit C | Produit D |
| 2 | 120 | 85 | 150 | 95 |
| 3 | 200 | 120 | 0 | 175 |
| 4 | 95 | 95 | 95 | 95 |
| 5 | 300 | 250 | 180 | 220 |
=BYROW(A1:D4; LAMBDA(ligne; SOMME(ligne)))La formule additionne chaque ligne séparément et renvoie quatre valeurs verticalement (450, 495, 380, 950), chacune représentant le montant total d'une commande. La LAMBDA reçoit tour à tour une ligne entière (et non une cellule) et lui applique SOMME. Si tu ajoutes un produit (nouvelle colonne), mets à jour la plage et tous les totaux se recalculent automatiquement.
Enseignant : moyenne des notes par étudiant
Tu es enseignant et tu veux calculer la moyenne de chaque étudiant sur plusieurs examens. Chaque ligne représente un étudiant, chaque colonne un examen. Avec BYROW, une seule formule calcule toutes les moyennes.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Examen 1 | Examen 2 | Examen 3 | Examen 4 |
| 2 | 15 | 14 | 16 | 15 |
| 3 | 12 | 13 | 11 | 14 |
| 4 | 18 | 17 | 19 | 18 |
| 5 | 10 | 12 | 11 | 13 |
| 6 | 16 | 15 | 14 | 17 |
=BYROW(A1:D5; LAMBDA(ligne; MOYENNE(ligne)))Ici, la formule applique MOYENNE à chaque étudiant pris une ligne à la fois et renvoie ses cinq moyennes verticalement : 15, 12,5, 18, 11,5, 15,5. Si tu ajoutes un examen (nouvelle colonne), toutes les moyennes se recalculent sans modifier la formule, l'avantage clé sur des formules MOYENNE répétées ligne par ligne.
Astuce de pro : Pour afficher les résultats dans une colonne séparée, place la formule BYROW dans la première cellule de la colonne résultat. Excel remplit automatiquement les cellules suivantes grâce au débordement de tableau dynamique.
Directeur commercial : meilleur trimestre par produit
Tu es directeur commercial et tu veux identifier le meilleur trimestre de ventes pour chaque produit. Chaque ligne représente un produit, chaque colonne un trimestre.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | T1 | T2 | T3 | T4 |
| 2 | 12500 | 13800 | 15200 | 14100 |
| 3 | 8500 | 9200 | 8800 | 10500 |
| 4 | 22000 | 21500 | 24000 | 23500 |
=BYROW(A1:D3; LAMBDA(ligne; MAX(ligne)))La formule retient le maximum de chaque produit pris une ligne à la fois et affiche les trois meilleurs trimestres verticalement (15 200, 10 500, 24 000) en une seule opération. Pratique pour repérer les pics de performance dans un rapport de direction sans scanner chaque ligne à l'œil.
Data analyst : compter les valeurs au-dessus de la moyenne
Tu es data analyst et tu veux savoir pour chaque série de données combien de jours dépassent la moyenne de cette série. La formule combine NB.SI avec MOYENNE à l'intérieur du LAMBDA.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Jour 1 | Jour 2 | Jour 3 | Jour 4 | Jour 5 |
| 2 | 100 | 120 | 90 | 110 | 130 |
| 3 | 85 | 95 | 100 | 90 | 80 |
| 4 | 150 | 140 | 160 | 155 | 145 |
=BYROW(A1:E3; LAMBDA(ligne; NB.SI(ligne; ">"&MOYENNE(ligne))))Ici, la formule calcule d'abord la moyenne de chaque ligne, puis compte combien de jours la dépassent, le tout dans la même LAMBDA. Chaque ligne est évaluée indépendamment : pour la première série, 2 jours sur 5 dépassent la moyenne (120 et 130) ; pour la troisième, 3 jours sur 5.
Responsable qualité : classification conditionnelle par ligne
Tu es responsable qualité et tu analyses des scores de satisfaction client sur plusieurs critères. Tu veux attribuer automatiquement une catégorie à chaque client selon la moyenne de ses scores.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Qualité | Service | Rapidité | Prix |
| 2 | 5 | 4 | 5 | 4 |
| 3 | 3 | 3 | 2 | 3 |
| 4 | 4 | 5 | 4 | 4 |
| 5 | 2 | 2 | 3 | 2 |
=BYROW(A1:D4; LAMBDA(ligne; SI(MOYENNE(ligne)>=4; "Excellent"; SI(MOYENNE(ligne)>=3; "Bon"; "Faible"))))La formule calcule la moyenne de chaque ligne, puis les SI imbriqués lui attribuent une étiquette selon le seuil franchi. Chaque ligne est évaluée indépendamment : la première (moyenne 4,5) devient "Excellent", la deuxième (moyenne 2,75) "Faible". Pas besoin de copier la formule sur chaque ligne.
Contrôleur de gestion : amplitude des variations hebdomadaires
Tu es contrôleur de gestion et tu veux mesurer la volatilité hebdomadaire de tes indicateurs. Pour chaque ligne, BYROW calcule l'écart entre la valeur maximale et minimale de la semaine.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Lundi | Mardi | Mercredi | Jeudi | Vendredi |
| 2 | 45 | 52 | 48 | 55 | 50 |
| 3 | 30 | 35 | 32 | 38 | 33 |
| 4 | 100 | 95 | 110 | 105 | 98 |
=BYROW(A1:E3; LAMBDA(ligne; MAX(ligne) - MIN(ligne)))Ici, la formule soustrait le minimum de chaque ligne à son maximum et renvoie l'amplitude de chaque semaine : 10, 8 et 15. Une amplitude plus grande signale plus de variation : la troisième série (amplitude 15) est plus volatile que la deuxième (amplitude 8).
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction BYROW
Avec BYROW, les ennuis viennent presque toujours du LAMBDA ou de la place qu'on laisse au résultat. Une #CALC! signale un calcul impossible sur une ligne (division par zéro, SOMME sur du texte), une #VALEUR! trahit un LAMBDA mal écrit (nom de paramètre oublié, parenthèses bancales).
Les deux autres pièges sont plus sournois : traiter la ligne comme une seule cellule (un ligne > 10 qui ne veut rien dire sur un tableau) et oublier que le résultat déborde vers le bas, donc bloqué dès qu'une cellule en dessous est occupée.
Erreur #CALC! dans le LAMBDA sur certaines lignes
Cette erreur apparaît quand ta fonction LAMBDA contient une opération impossible sur une ligne donnée, par exemple une division par zéro ou SOMME sur une ligne contenant du texte non numérique.
Solution : Vérifie que toutes tes lignes contiennent des données compatibles avec ton LAMBDA. Si certaines lignes peuvent être problématiques, entoure l'expression dans SIERREUR : =BYROW(A1:D10; LAMBDA(ligne; SIERREUR(SOMME(ligne); 0))).
Erreur #VALEUR! avec une syntaxe LAMBDA incorrecte
Cette erreur se produit quand le premier argument n'est pas un tableau valide ou quand la syntaxe LAMBDA est mal formée : nom de paramètre manquant, parenthèses déséquilibrées, ou expression de calcul absente.
Solution : Vérifie que ton LAMBDA suit la syntaxe exacte : LAMBDA(nom_parametre; expression). Le nom du paramètre est libre mais doit être présent. Exemple correct : LAMBDA(r; SOMME(r)) avec r comme paramètre et SOMME(r) comme expression.
Résultats bloqués par des cellules occupées en dessous
BYROW retourne un tableau vertical dynamique. Si les cellules en dessous de ta formule contiennent déjà des données, Excel ne peut pas afficher le résultat complet et retourne une erreur de débordement.
Solution : Libère les cellules en dessous de ta formule BYROW. Si ton tableau source a 20 lignes, BYROW aura besoin de 20 cellules verticales libres. Déplace les données qui bloquent ou place ta formule BYROW dans une colonne vide.
Résultat inattendu car le LAMBDA traite une ligne comme une cellule unique
Erreur conceptuelle fréquente : utiliser dans le LAMBDA une opération qui s'applique à une cellule unique (comme une comparaison directe ligne > 10) alors que le paramètre est un tableau horizontal de plusieurs valeurs.
Solution : Le paramètre de ton LAMBDA est toujours un tableau horizontal, pas une cellule. Utilise des fonctions qui acceptent des tableaux : SOMME, MOYENNE, MAX, MIN, NB.SI, etc. Pour des comparaisons, utilise NB.SI(ligne; ">10") plutôt que ligne > 10.
Erreur sur les lignes avec des longueurs différentes
BYROW nécessite un tableau rectangulaire. Si certaines lignes ont moins de colonnes que d'autres (par exemple en travaillant avec des plages non uniformes), la fonction peut échouer ou produire des résultats incorrects.
Solution : Définis ta plage pour couvrir exactement la zone rectangulaire de données. Si nécessaire, remplis les cellules manquantes avec des valeurs appropriées : 0 pour des calculs numériques, "" pour du texte.
Questions fréquentes sur la fonction BYROW
Quelle est la différence entre BYROW et une formule matricielle classique ?
BYROW utilise LAMBDA pour définir une logique personnalisée qui s'applique à chaque ligne individuellement. C'est plus flexible et lisible qu'une formule matricielle classique.
De plus, BYROW retourne automatiquement un tableau vertical avec un résultat par ligne, sans avoir besoin de valider avec Ctrl+Maj+Entrée comme les anciennes formules matricielles.
Comment calculer la somme de chaque ligne avec BYROW ?
Utilise =BYROW(A1:D10; LAMBDA(ligne; SOMME(ligne))). Cette formule retourne autant de valeurs que de lignes dans ton tableau (10 ici), chacune étant la somme des valeurs de cette ligne.
Tu peux remplacer SOMME par n'importe quelle autre fonction : MOYENNE, MAX, MIN, NB.SI, ou même des formules plus complexes.
Peut-on utiliser plusieurs paramètres dans le LAMBDA de BYROW ?
Le LAMBDA dans BYROW reçoit uniquement la ligne courante comme paramètre. Si tu as besoin d'informations supplémentaires (comme un seuil stocké dans une cellule fixe), tu peux les référencer directement dans l'expression LAMBDA avec des références absolues.
Par exemple : =BYROW(A1:D10; LAMBDA(ligne; NB.SI(ligne; ">"&$F$1))) utilise le seuil de F1 pour chaque ligne.
BYROW est-elle disponible dans toutes les versions d'Excel ?
Non, BYROW est disponible uniquement dans Excel 365 (abonnement Microsoft 365) et Excel 2021. Elle n'est pas disponible dans Excel 2016, 2019, ou Google Sheets.
Si tu dois partager ton fichier avec des utilisateurs d'anciennes versions, utilise des formules SOMME/MOYENNE classiques copiées sur chaque ligne, ou vérifie la compatibilité avant de déployer.
BYROW est-elle plus rapide que des formules répétées sur chaque ligne ?
Oui, BYROW est généralement plus performant car Excel optimise le calcul en une seule opération, plutôt que d'évaluer des dizaines ou centaines de formules indépendantes.
Mais l'avantage principal est la maintenabilité : une seule formule à gérer au lieu de N formules identiques. Si ta logique change, tu modifies une seule formule.
Pour aller plus loin
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois
