Tableau dynamiqueExpertExcel 365

Fonction BYCOLAppliquer LAMBDA par colonne – Guide 2026

BYCOL applique une fonction LAMBDA à chaque colonne d'un tableau et retourne un résultat par colonne sous forme de tableau horizontal.

Syntaxe

BYCOL(tableau; lambda)

tableau : Le tableau ou la plage à traiter colonne par colonne

lambda : La fonction LAMBDA à appliquer sur chaque colonne

Retourne un tableau horizontal avec un résultat par colonne

Comprendre BYCOL

La fonction BYCOL est l'une des fonctions les plus puissantes introduites dans Excel moderne. Elle fait partie de la famille des fonctions qui utilisent LAMBDA pour transformer les données de manière dynamique et élégante.

Contrairement aux formules traditionnelles où vous devez répéter une formule pour chaque colonne, BYCOL traite toutes les colonnes en une seule opération. C'est révolutionnaire pour l'analyse de données, car cela réduit considérablement la complexité des classeurs et améliore la performance.

Le principe est simple : vous définissez un tableau de données, puis vous spécifiez une fonction LAMBDA qui décrit comment traiter chaque colonne. Excel applique automatiquement cette fonction à chaque colonne et retourne tous les résultats en une seule ligne.

Fonctionnement interne

Quand vous utilisez BYCOL, Excel parcourt votre tableau de gauche à droite. Pour chaque colonne, il extrait toutes les valeurs de cette colonne, les passe à votre fonction LAMBDA comme un tableau vertical, puis stocke le résultat.

Par exemple, si vous avez un tableau de 10 lignes et 4 colonnes, BYCOL va créer 4 tableaux verticaux (un par colonne, chacun contenant 10 valeurs), appliquer votre LAMBDA à chacun, puis retourner 4 résultats en une ligne horizontale.

Cette approche est beaucoup plus performante que d'écrire quatre formules séparées, surtout quand vos calculs deviennent complexes ou que votre tableau contient des dizaines de colonnes.

Cas d'usage typiques

  • Analyse statistique : Calculer la moyenne, médiane, écart-type de chaque colonne de données (par exemple, notes par matière, ventes par mois)
  • Validation de données : Vérifier si chaque colonne contient des valeurs valides, identifier les colonnes avec des erreurs ou des valeurs manquantes
  • Transformation de données : Normaliser chaque colonne selon sa propre échelle, calculer des pourcentages relatifs au total de la colonne
  • Tableaux de bord : Créer des résumés dynamiques qui s'adaptent automatiquement quand on ajoute ou supprime des colonnes
  • Comparaisons : Identifier la colonne avec la valeur maximale, minimale, ou celle qui respecte certains critères

Exemples pratiques

Exemple 1 : Somme par colonne

Imaginons que vous avez les ventes de trois vendeurs sur plusieurs jours. Vous voulez calculer le total des ventes pour chaque vendeur.

Calcule la somme totale de chaque colonne avec une seule formule.

ABC
1Vendeur AVendeur BVendeur C
212001500980
3135014201100
4118016801050
5140015501200
Formule :=BYCOL(A1:C4; LAMBDA(col; SOMME(col)))
Résultat :5130 | 6150 | 4330

Cette formule retourne trois valeurs (5130, 6150, 4330) représentant le total des ventes pour chaque vendeur. Sans BYCOL, vous auriez besoin de trois formules SOMME séparées.

Exemple 2 : Moyenne pondérée par colonne

Pour un tableau de notes d'étudiants par matière, calculez la moyenne de chaque matière en une seule formule.

Calcule automatiquement la moyenne de chaque matière.

ABCD
1MathsFrançaisHistoireSciences
215141613
312151415
418131517
514161314
616141716
Formule :=BYCOL(A1:D5; LAMBDA(col; MOYENNE(col)))
Résultat :15 | 14.4 | 15 | 15

Cette formule est particulièrement utile pour les enseignants ou les analystes de données qui doivent traiter de nombreuses colonnes de données numériques. Le résultat s'ajuste automatiquement si vous ajoutez ou modifiez des valeurs.

Exemple 3 : Maximum de chaque colonne

Pour un tableau de températures mensuelles dans différentes villes, trouvez la température maximale enregistrée dans chaque ville.

Identifie la température maximale pour chaque ville.

ABC
1ParisLyonMarseille
2121418
3151621
4181924
5222428
6252732
Formule :=BYCOL(A1:C5; LAMBDA(col; MAX(col)))
Résultat :25 | 27 | 32

Cette technique est idéale pour identifier rapidement les pics dans des séries temporelles ou des données de monitoring, sans avoir à créer des formules répétitives.

Exemple 4 : Compter les valeurs supérieures à un seuil

Dans un tableau de performances, comptez combien de fois chaque équipe a dépassé l'objectif de 100 unités.

Compte combien de fois chaque équipe a dépassé 100.

ABC
1Équipe AlphaÉquipe BetaÉquipe Gamma
295105110
311098115
48811292
5125101108
Formule :=BYCOL(A1:C4; LAMBDA(col; NB.SI(col; ">100")))
Résultat :2 | 3 | 3

BYCOL permet d'appliquer des fonctions conditionnelles comme NB.SI à chaque colonne séparément, ce qui est extrêmement utile pour les analyses de performance et les tableaux de bord.

Exemple 5 : Écart-type par colonne pour analyse de volatilité

Pour des données financières, calculez l'écart-type de chaque actif pour mesurer sa volatilité.

Mesure la volatilité de chaque action via l'écart-type.

ABC
1Action AAction BAction C
245.2102.528.3
347.1101.829.1
444.8103.227.9
546.5100.928.7
645.9102.128.5
Formule :=BYCOL(A1:C5; LAMBDA(col; ECARTYPE.STANDARD(col)))
Résultat :0.89 | 0.87 | 0.45

Cette approche est fondamentale en finance quantitative. Un écart-type plus faible (comme 0.45 pour l'Action C) indique une volatilité moindre et potentiellement un investissement plus stable.

Erreurs fréquentes

#CALC! - Erreur dans la fonction LAMBDA

Cette erreur se produit quand votre fonction LAMBDA contient une erreur logique ou essaie d'effectuer une opération impossible sur une colonne.

Solution : Vérifiez que votre LAMBDA peut traiter tous les types de données dans vos colonnes. Par exemple, MOYENNE échouera si une colonne contient du texte.

#VALEUR! - Tableau invalide

Se produit quand le premier argument n'est pas un tableau valide ou quand la syntaxe LAMBDA est incorrecte.

Solution : Assurez-vous que votre premier argument est bien une plage ou un tableau (A1:C10) et que votre LAMBDA suit la syntaxe LAMBDA(paramètre; calcul).

Résultat déborde sur d'autres cellules

BYCOL retourne un tableau horizontal. Si les cellules à droite de votre formule contiennent déjà des données, vous obtiendrez une erreur de débordement.

Solution : Assurez-vous que les cellules à droite de votre formule sont vides. Si vous avez 5 colonnes dans votre tableau source, BYCOL aura besoin de 5 cellules horizontales pour afficher le résultat.

LAMBDA ne reçoit pas les bonnes données

Erreur conceptuelle fréquente : penser que LAMBDA reçoit une seule valeur alors qu'elle reçoit toute la colonne comme tableau.

Solution : Le paramètre de votre LAMBDA représente une colonne entière (tableau vertical). Utilisez des fonctions d'agrégation comme SOMME, MOYENNE, MAX qui peuvent traiter des tableaux.

Tableau source avec colonnes de hauteurs différentes

BYCOL nécessite un tableau rectangulaire parfait. Si vos colonnes ont des hauteurs différentes, la fonction échouera.

Solution : Définissez votre plage pour qu'elle couvre exactement le tableau rectangulaire, ou remplissez les cellules manquantes avec des valeurs neutres (0 ou texte vide selon le contexte).

Questions fréquentes

Quelle différence entre BYCOL et BYROW ?

BYCOL applique une fonction LAMBDA à chaque colonne d'un tableau et retourne un résultat par colonne. BYROW fait la même chose mais par ligne. Si vous avez 5 colonnes, BYCOL retournera 5 résultats (un par colonne).

Comment calculer la moyenne de chaque colonne avec BYCOL ?

Utilisez =BYCOL(A1:C10; LAMBDA(col; MOYENNE(col))). Cette formule applique MOYENNE à chaque colonne individuellement et retourne les trois moyennes en une seule ligne.

BYCOL fonctionne-t-il avec des colonnes de taille différente ?

Non, BYCOL nécessite un tableau rectangulaire (toutes les colonnes doivent avoir la même hauteur). Pour des colonnes de tailles différentes, vous devrez utiliser des formules séparées ou remplir avec des cellules vides.

Peut-on combiner plusieurs fonctions LAMBDA dans BYCOL ?

Oui, votre LAMBDA peut contenir n'importe quelle logique complexe. Par exemple : BYCOL(A1:D10; LAMBDA(col; SI(MAX(col) > 100; SOMME(col); MOYENNE(col)))) applique une condition différente selon le maximum de chaque colonne.

Fonctions similaires

Deviens un pro d'Excel

Rejoins Le Dojo Club pour maîtriser toutes les fonctions Excel avancées.

Essayer pendant 30 jours