Aller au contenu

Fonction LAMBDA dans Google Sheets : un exemple concret d'utilisation

Antoine Brisset
Antoine Brisset
Temps de lecture : 2 min
Fonction LAMBDA dans Google Sheets : un exemple concret d'utilisation
Photo by Ryan Wallace / Unsplash

Table des matières

Il y a quelques semaines, j'ai été confronté à un problème dans le développement de Gadgeto.

Mon besoin : afficher automatiquement (sans utiliser la poignée de recopie) le nombre d'occurrences d'une valeur figurant dans chaque ligne d'une plage de données.

Pour que ce soit plus clair, voici le jeu de données :

La colonne TOTAL doit renvoyer le nombre de redirections pour chaque URL

Ce que je cherchais à obtenir, c'est : le nombre total de redirections 301 (ou 302) pour chaque URL.

Mon 1er réflexe a été de me tourner vers la fonction ARRAYFORMULA.

Sauf que pour "étendre" des calculs horizontaux, ça ne fonctionne pas.

Enfin, si, c'est possible, mais c'est vraiment tricky.

Et puis, je me suis souvenu que Google avait ajouté cet été de nouvelles fonctions hyper pratiques : les fonctions d'assistance LAMBDA.

Alors déjà, c'est quoi une fonction LAMBDA ?

Une fonction LAMBDA, c'est une fonction personnalisée qui prend en paramètres :

  1. une valeur (ou plusieurs) appelée "name"
  2. une formule qu'on applique à cette valeur, appelée "formula_expression"

Exemple : LAMBDA(number; number*2)(10).

Démo de LAMBDA

Ici, le 1er argument est number : c'est le "name", autrement dit la valeur à transmettre à la fonction.

Le 2ème argument est number*2 : c'est la fonction permettant de multiplier ma valeur par 2.

Et j'appelle la fonction LAMBDA directement sur ma valeur, ici 10.

Maintenant, parlons des fonctions d'assistance LAMBDA.

Ce sont des fonctions qui prennent en paramètres :

  • un tableau de données
  • une fonction LAMBDA

Il en existe 6 à l'heure actuelle :

  • MAP
  • REDUCE
  • BYCOL
  • BYROW
  • SCAN
  • MAKEARRAY

Celle dont je vais te parler aujourd'hui est BYROW.

Comme son nom l'indique, elle permet d'exécuter une fonction LAMBDA sur chaque ligne d'un tableau de données.

Pile poil ce qu'il me faut.

Du coup, voici comment je m'en suis servi :

=BYROW(B9:K;LAMBDA(row;COUNTIFS(row;">300";row;"<400")))

Traduction : je souhaite compter le nombre de valeurs > 300 et < 400 dans chaque ligne de ma plage de données B9:K.

Démo de BYROW

Le souci, c'est que la fonction s'applique même aux lignes "vides".

Il a donc fallu que j'ajoute une condition pour n'exécuter BYROW que sur les lignes contenant au moins une valeur.

Ce qui donne :

=ARRAYFORMULA(IF(B9:B<>"";BYROW(B9:K;LAMBDA(row;COUNTIFS(row;">300";row;"<400")));""))
Formule finale

Et voilà !

J'espère que cette petite démo t'aura permis d'en savoir plus sur les possibilités offertes par les nouvelles fonctions Google Sheets.

Google Sheets

Antoine Brisset Twitter

Consultant SEO depuis 2010. Je traque les clics inutiles et j'automatise les tâches répétitives pour gagner du temps dans mon quotidien de travailleur du web.


Articles Similaires

Membres Public

Comment analyser des paramètres d'URL avec Google Sheets ?

L'édition du jour est directement inspirée de l'article paru il y a a quelques jours sur le blog Yapasdequoi d'Aymeric Bouillat. Dans son (très bon) article, Aymeric explique comment faire l'agrégation du nombre de hits Googlebot sur les paramètres d'URL

Comment analyser des paramètres d'URL avec Google Sheets ?
Membres Public

RECHERCHEV dans Google Sheets : comment retourner plusieurs colonnes à la fois ?

Il y a quelques jours, Mickaël Zerrougui a partagé un petit tuto sympa sur la RECHERCHEV en SEO. Si tu l'as loupé, je te le remets ici ⬇️ 🏆 La RechercheV en SEO 🏆 Y'a des SEO qui savent toujours pas utiliser la rechercheV ?😱 Vous en avez marre des

RECHERCHEV dans Google Sheets : comment retourner plusieurs colonnes à la fois ?
Membres Public

Comment extraire les dossiers d'une URL avec Google Sheets ?

La semaine dernière, Nicolas m'interpellait sur Twitter suite à ce tweet. Help : Tips Gsheet Hello les SEO J ai des urls dans mon gsheet du type : Site/cat/cat1/cat2 etc.. J’aimerai extraire automatiquement les 2 derniers slug d’url Une idee ? — Nicolas Evenou (@NicolasEvenou) October 23,

Comment extraire les dossiers d'une URL avec Google Sheets ?