Analyser et traiter les lignes avec la fonction BYROW

Dernière mise à jour le 24/08/2024
Temps de lecture : 3 minutes

Une des nouvelles fonctions récemment apparue dans Excel permet de traiter une matrice de lignes en lignes, cette fonction c’est BYROW. Dans un précédent article sur les RTT, nous l'avions utilisé mais voyons plus en détail comment elle fonctionne.

Comment utiliser BYROW pour traiter des lignes

Avec la fonction BYROW, seuls deux arguments sont nécessaires

  1. La matrice de données: c'est tout simplement la plage de données à analyser
  2. L'opérateur: Vous pouvez soit sélectionner un opérateur dans la liste des fonction ou créer votre propre opérateur avec la fonction LAMBDA

Prenons cet exemple simple :

Ligne de base byrow

Nous avons plusieurs lignes avec des chiffres et nous souhaitons ajouter 1 à toutes les lignes en une seule manipulation.

  1. Nous allons donc saisir notre matrice de A1 à A7 comme premier argument.
  2. Puis nous utilisons LAMBDA avec un paramètre que nous nommons x. Ce dernier représente la plage de A1 à A7, pour faciliter la saisie ensuite, et le calcul est donc x+1.

Nous avons bien 1 ajouté à chaque ligne avec cette fonction :

=BYROW(A1:A7;LAMBDA(x;x+1))

1 ajoute aux lignes byrow

Autre exemple avec une autre fonction LAMBDA

L'utilisation de la fonction LAMBDA est extrêmement puissante. Dans l'exemple précédent, nous avons construit une addition mais toutes les opérations sont possibles. Par exemple ici, nous allons construire un test qui va nous renvoyer les jours fériés qui tombent un jour de semaine (pas le week-end)

  • X, notre variable, représente notre liste des jours fériés
  • Pour chaque date, nous faisons un test avec la fonction JOURSEM pour savoir si la date tombe un week-end ou non
  • Enfin, ce test est intégré dans une fonction FILTRE.

=BYROW(Jferiés;LAMBDA(x;FILTRE(x;JOURSEM(x;2)<6)))

jours feries filtres byrow

La fonction marche mais nous avons des #CALC ce qui signifie qu’une partie du tableau est vide, et renvoie une erreur.

Avec la fonction SI.ERREUR, si nous remplaçons les erreurs par vide nous pourrions nous en sortir. Mais nous allons voir une autre solution.

Utilisation de la fonction DANSCOL

La fonction DANSCOL va nous permettre d'ignorer les erreurs retournées par la précédente matrice. Elle se compose de 2 arguments obligatoire.

  • Array : la matrice souhaitée
  • Ignore : de 0 à 3 en choix, pour laisser comme tel ou ignorer les espaces, les erreurs, ou tout d’un coup
  • [scan_by_column] : permet de choisir le mode de scan en ligne ou en colonne en fonction des valeurs et de leur organisation

Donc tout simplement :

=DANSCOL(BYROW(Jferiés;LAMBDA(x;FILTRE(x;JOURSEM(x;2)<6)));3)

formule danscolbyrow

Notre matrice est bien sans erreur, il ne nous reste plus qu’à obtenir le nombre de jours, en rajoutant un NB devant

=NB(DANSCOL(BYROW(Jferiés;LAMBDA(x;FILTRE(x;JOURSEM(x;2)<6)));3))

J’espère que cela vous a plu. EXCEL_LENTE journée ! (Rémi)

Articles liés

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Microsoft MVP 2024

Newsletter

1 fois par mois :
Astuces et quiz

    Nous ne vous enverrons pas de spam. Vous pouvez vous désabonner à tout moment.

    Analyser et traiter les lignes avec la fonction BYROW

    Reading time: 3 minutes
    Dernière mise à jour le 24/08/2024

    Une des nouvelles fonctions récemment apparue dans Excel permet de traiter une matrice de lignes en lignes, cette fonction c’est BYROW. Dans un précédent article sur les RTT, nous l'avions utilisé mais voyons plus en détail comment elle fonctionne.

    Comment utiliser BYROW pour traiter des lignes

    Avec la fonction BYROW, seuls deux arguments sont nécessaires

    1. La matrice de données: c'est tout simplement la plage de données à analyser
    2. L'opérateur: Vous pouvez soit sélectionner un opérateur dans la liste des fonction ou créer votre propre opérateur avec la fonction LAMBDA

    Prenons cet exemple simple :

    Ligne de base byrow

    Nous avons plusieurs lignes avec des chiffres et nous souhaitons ajouter 1 à toutes les lignes en une seule manipulation.

    1. Nous allons donc saisir notre matrice de A1 à A7 comme premier argument.
    2. Puis nous utilisons LAMBDA avec un paramètre que nous nommons x. Ce dernier représente la plage de A1 à A7, pour faciliter la saisie ensuite, et le calcul est donc x+1.

    Nous avons bien 1 ajouté à chaque ligne avec cette fonction :

    =BYROW(A1:A7;LAMBDA(x;x+1))

    1 ajoute aux lignes byrow

    Autre exemple avec une autre fonction LAMBDA

    L'utilisation de la fonction LAMBDA est extrêmement puissante. Dans l'exemple précédent, nous avons construit une addition mais toutes les opérations sont possibles. Par exemple ici, nous allons construire un test qui va nous renvoyer les jours fériés qui tombent un jour de semaine (pas le week-end)

    • X, notre variable, représente notre liste des jours fériés
    • Pour chaque date, nous faisons un test avec la fonction JOURSEM pour savoir si la date tombe un week-end ou non
    • Enfin, ce test est intégré dans une fonction FILTRE.

    =BYROW(Jferiés;LAMBDA(x;FILTRE(x;JOURSEM(x;2)<6)))

    jours feries filtres byrow

    La fonction marche mais nous avons des #CALC ce qui signifie qu’une partie du tableau est vide, et renvoie une erreur.

    Avec la fonction SI.ERREUR, si nous remplaçons les erreurs par vide nous pourrions nous en sortir. Mais nous allons voir une autre solution.

    Utilisation de la fonction DANSCOL

    La fonction DANSCOL va nous permettre d'ignorer les erreurs retournées par la précédente matrice. Elle se compose de 2 arguments obligatoire.

    • Array : la matrice souhaitée
    • Ignore : de 0 à 3 en choix, pour laisser comme tel ou ignorer les espaces, les erreurs, ou tout d’un coup
    • [scan_by_column] : permet de choisir le mode de scan en ligne ou en colonne en fonction des valeurs et de leur organisation

    Donc tout simplement :

    =DANSCOL(BYROW(Jferiés;LAMBDA(x;FILTRE(x;JOURSEM(x;2)<6)));3)

    formule danscolbyrow

    Notre matrice est bien sans erreur, il ne nous reste plus qu’à obtenir le nombre de jours, en rajoutant un NB devant

    =NB(DANSCOL(BYROW(Jferiés;LAMBDA(x;FILTRE(x;JOURSEM(x;2)<6)));3))

    J’espère que cela vous a plu. EXCEL_LENTE journée ! (Rémi)

    Articles liés

    Newsletter

    1 fois par mois :
    Astuces et quiz

      Nous ne vous enverrons pas de spam. Vous pouvez vous désabonner à tout moment.

      Laisser un commentaire

      Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

      Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.