Fonction BYROWAppliquer LAMBDA par ligne – Guide 2026
BYROW applique une fonction LAMBDA à chaque ligne d'un tableau et retourne un résultat par ligne sous forme de tableau vertical.
Syntaxe
BYROW(tableau; lambda)tableau : Le tableau ou la plage à traiter ligne par ligne
lambda : La fonction LAMBDA à appliquer sur chaque ligne
Retourne un tableau vertical avec un résultat par ligne
Comprendre BYROW
BYROW est une fonction révolutionnaire qui change fondamentalement la façon dont nous traitons les données dans Excel. Elle fait partie de la nouvelle génération de fonctions qui exploitent LAMBDA pour créer des transformations de données élégantes et puissantes.
Traditionnellement, pour appliquer un calcul à chaque ligne d'un tableau, vous deviez créer une formule puis la copier vers le bas sur des dizaines ou centaines de lignes. Cette approche crée de la redondance, ralentit les calculs, et rend la maintenance difficile. BYROW résout tous ces problèmes.
Avec BYROW, vous définissez une seule fois la logique de traitement via une fonction LAMBDA, et Excel l'applique automatiquement à chaque ligne. Le résultat est un tableau dynamique qui s'adapte automatiquement quand vos données changent.
Comment BYROW traite vos données
Quand vous utilisez BYROW, Excel parcourt votre tableau de haut en bas. Pour chaque ligne, il extrait toutes les valeurs de cette ligne sous forme de tableau horizontal, les passe à votre fonction LAMBDA, puis stocke le résultat.
Par exemple, avec un tableau de 8 lignes et 5 colonnes, BYROW va créer 8 tableaux horizontaux (un par ligne, chacun contenant 5 valeurs), appliquer votre LAMBDA à chacun, puis retourner 8 résultats en une colonne verticale.
Cette méthode est non seulement plus élégante, mais aussi plus performante. Excel peut optimiser ces calculs de manière beaucoup plus efficace qu'avec des formules copiées individuellement.
Applications pratiques
- •Calculs de totaux : Calculer le total de chaque commande, le chiffre d'affaires de chaque client, la somme des dépenses par projet
- •Moyennes et statistiques : Calculer la note moyenne de chaque étudiant, le prix moyen par transaction, le temps moyen par tâche
- •Logique conditionnelle : Attribuer un statut selon les valeurs de la ligne, classifier des données, appliquer des règles métier complexes
- •Recherche de valeurs : Trouver le maximum ou minimum de chaque ligne, identifier quelle colonne contient une valeur spécifique
- •Comptage et validation : Compter combien de cellules remplissent un critère, vérifier qu'au moins une valeur dépasse un seuil
Exemples pratiques
Exemple 1 : Total par ligne de commande
Pour un tableau représentant des commandes avec plusieurs produits par ligne, calculez le montant total de chaque commande.
Calcule le 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)))Cette formule retourne quatre valeurs verticalement (450, 495, 380, 950), chacune représentant le montant total d'une commande. Beaucoup plus efficace que quatre formules SOMME séparées.
Exemple 2 : Moyenne des notes par étudiant
Pour un tableau de notes où chaque ligne représente un étudiant et chaque colonne un examen, calculez la moyenne de chaque étudiant.
Calcule la moyenne de chaque étudiant automatiquement.
| 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)))Cette approche est particulièrement puissante pour les enseignants. Si vous ajoutez un cinquième examen (nouvelle colonne), toutes les moyennes se recalculent automatiquement sans modifier la formule.
Exemple 3 : Valeur maximale par ligne
Pour un tableau de ventes par trimestre, identifiez le meilleur trimestre pour chaque produit.
Identifie les meilleures ventes pour chaque produit.
| 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)))Cette technique permet d'identifier rapidement les pics de performance sans avoir à scanner visuellement chaque ligne. Idéal pour les rapports de direction et les tableaux de bord.
Exemple 4 : Compter les valeurs au-dessus de la moyenne
Pour chaque ligne de données de performance, comptez combien de valeurs dépassent la moyenne de cette ligne.
Compte combien de jours sont au-dessus de la moyenne pour chaque série.
| 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))))Cette formule avancée combine NB.SI avec MOYENNE dans le LAMBDA. Elle montre la puissance de BYROW pour des analyses statistiques complexes. Notez l'utilisation de "&" pour concaténer le critère dynamique.
Exemple 5 : Classification conditionnelle
Pour un tableau de scores de satisfaction client sur plusieurs critères, attribuez une catégorie selon la moyenne de chaque ligne.
Classifie chaque ligne selon sa moyenne avec une logique conditionnelle.
| 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"))))Cette formule montre comment BYROW peut contenir des logiques SI imbriquées complexes. Chaque ligne est évaluée indépendamment et reçoit sa propre classification basée sur sa moyenne spécifique.
Exemple 6 : Écart entre max et min par ligne
Pour analyser la volatilité ou l'amplitude de données, calculez l'écart entre la valeur maximale et minimale de chaque ligne.
Calcule l'amplitude des variations pour chaque série de données.
| 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)))Cette métrique est très utile pour mesurer la volatilité des prix, la variabilité de la production, ou l'instabilité de n'importe quelle mesure temporelle. Une amplitude plus grande indique plus de variation.
Erreurs fréquentes
#CALC! - Erreur de calcul dans LAMBDA
Cette erreur apparaît quand votre fonction LAMBDA contient une erreur ou tente une opération impossible sur une ligne donnée.
Solution : Vérifiez que toutes vos lignes contiennent des données compatibles avec votre LAMBDA. Par exemple, SOMME échouera si une ligne contient du texte non numérique. Utilisez des fonctions de gestion d'erreur comme SIERREUR si nécessaire.
#VALEUR! - Syntaxe incorrecte
Se produit quand le premier argument n'est pas un tableau valide ou la syntaxe LAMBDA est mal formée.
Solution : Assurez-vous que votre premier argument est bien une plage de cellules (comme A1:D10) et que votre LAMBDA suit la syntaxe correcte : LAMBDA(nom_paramètre; expression_de_calcul).
Débordement vertical bloqué
BYROW retourne un tableau vertical. Si les cellules en dessous de votre formule contiennent déjà des données, Excel ne pourra pas afficher le résultat complet.
Solution : Assurez-vous que les cellules en dessous de votre formule sont vides. Si votre tableau source a 20 lignes, BYROW aura besoin de 20 cellules verticales libres pour afficher tous les résultats.
Confusion entre ligne et cellule unique
Erreur conceptuelle fréquente : traiter le paramètre LAMBDA comme une seule cellule alors qu'il représente toute une ligne (tableau horizontal).
Solution : Le paramètre de votre LAMBDA contient toutes les valeurs de la ligne. Utilisez des fonctions qui acceptent des tableaux comme SOMME, MOYENNE, MAX, MIN, NB.SI, etc.
Lignes de longueurs différentes
BYROW nécessite un tableau rectangulaire. Si certaines lignes ont moins de colonnes que d'autres, la fonction échouera.
Solution : Définissez votre plage pour couvrir exactement la zone rectangulaire de données. Si nécessaire, remplissez les cellules manquantes avec des valeurs appropriées (0 pour des calculs numériques, texte vide pour du texte).
Utilisation incorrecte des références externes
Si votre LAMBDA fait référence à des cellules en dehors du tableau passé en premier argument, les résultats peuvent être inattendus.
Solution : Le LAMBDA reçoit uniquement les données de la ligne courante. Pour utiliser des valeurs externes (comme un seuil dans une cellule fixe), référencez-les directement dans l'expression LAMBDA avec des références absolues ($A$1).
Questions fréquentes
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. De plus, BYROW retourne automatiquement un tableau vertical avec un résultat par ligne.
Comment calculer la somme de chaque ligne avec BYROW ?
Utilisez =BYROW(A1:D10; LAMBDA(ligne; SOMME(ligne))). Cette formule retourne 10 valeurs (une par ligne), chacune étant la somme des valeurs de cette ligne.
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 vous avez besoin d'informations supplémentaires (comme le numéro de ligne), vous devrez combiner BYROW avec d'autres fonctions comme SEQUENCE ou utiliser des références externes.
BYROW est-il 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. De plus, votre classeur reste plus simple à maintenir avec une seule formule au lieu de dizaines ou centaines de formules copiées.
Fonctions similaires
Deviens un pro d'Excel
Rejoins Le Dojo Club pour maîtriser toutes les fonctions Excel avancées.
Essayer pendant 30 jours