Aller au contenu

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

Antoine Brisset
Antoine Brisset
Temps de lecture : 3 min
Comment extraire les dossiers d'une URL avec Google Sheets ?

Table des matières

La semaine dernière, Nicolas m'interpellait sur Twitter suite à ce tweet.

Son besoin : récupérer le nom des deux derniers dossiers d'une URL avec Google Sheets.

Défi accepté ! Je te montre comment je m'y suis pris 🙂

Étape 1 : sélectionner le chemin de l'URL

Prenons l'exemple de l'URL suivante : https://www.cdiscount.com/bricolage/outillage/outillage-a-main/cle-et-douille/l-166010258.html

La première chose à faire, c'est d'extraire le chemin de l'URL, c'est-à-dire tout ce qui se trouve derrière le domaine, ici "bricolage/outillage/outillage-a-main/cle-et-douille/l-166010258.html".

Pour y parvenir, je vais m'aider de la fonction RIGHT.

=RIGHT(A1;LEN(A1)-FIND("/";A1;9))

Explications :

  1. je cherche le 1er slash dans l'URL à partir du 9ème caractère (celui après ".com", pour éviter de prendre en compte le double slash du début) et je récupère sa position avec FIND
  2. je calcule le nombre de caractères du chemin de l'URL en faisant la différence entre la longueur totale de l'URL et la position du slash récupérée à l'étape 1
  3. ce qui me donne le nombre de caractères à extraire à partir de la fin de l'URL avec RIGHT
Capture du chemin de l'URL

Étape 2 : découper l'URL à chaque slash

Maintenant, je vais découper l'URL pour isoler chaque dossier + le slug dans des cellules différentes.

Je vais ici me servir de la fonction SPLIT, avec le slash comme délimiteur.

=SPLIT(RIGHT(A1;LEN(A1)-FIND("/";A1;9));"/")
Découpage de l'URL

Étape 3 : récupérer les deux derniers dossiers

Il ne me reste plus qu'à sélectionner les 2 derniers dossiers grâce à INDEX.

Comme on ne sait pas à l'avance à quelle position ils se trouvent, il faut au préalable :

  • calculer le nombre total de cellules avec COUNTA
  • y soustraire le nombre que l'on souhaite (ici 2 pour remonter depuis le slug jusqu'à l'avant-dernier dossier)

Ce qui donne la formule suivante :

=INDEX(SPLIT(RIGHT(A1;LEN(A1)-FIND("/";A1;9));"/");COUNTA(SPLIT(RIGHT(A1;LEN(A1)-FIND("/";A1;9));"/"))-2)
Sélection de l'avant-dernier dossier

Pour répondre à 100% au besoin de Nicolas, je n'ai plus qu'à dupliquer ma formule dans une nouvelle cellule, en changeant la valeur de l'index pour sélectionner cette fois le dernier dossier.

Ce qui me permet d'afficher côte à côte les 2 derniers dossiers de l'URL.

Récupération des deux derniers dossiers

On pourrait même aller plus loin en ajoutant une liste déroulante pour sélectionner dynamiquement la position du dossier souhaité en partant de la fin de l'URL.

Sélection dynamique du dossier dans l'URL

Et voilà !

Google Sheets

Antoine Brisset Twitter

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


Articles Similaires

Membres Public

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

Il y a quelques jours, Mickael 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 copier/coller à la

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

Importer des datasets facilement grâce aux fonctions nommées de Google Sheets

Aujourd'hui, je vais te montrer comment importer facilement un jeu de données que tu utilises souvent à l'intérieur de tes feuilles Google Sheets. Exemple : tu travailles sur du SEO local et tu as besoin, régulièrement, de récupérer la liste des 36000 communes françaises. Pour éviter de devoir à chaque fois

Importer des datasets facilement grâce aux fonctions nommées de Google Sheets
Membres Public

Comment scraper proprement avec IMPORTXML ?

Quand on utilise IMPORTXML pour extraire le contenu de plusieurs balises (exemple : toutes les balises h2 d'une page), les différentes valeurs trouvées s'affichent par défaut les unes en dessous des autres, sur plusieurs lignes. C'est embêtant. Pourquoi ? Parce que si on ajoute d'autres URLs, on ne peut pas "tirer" la

Comment scraper proprement avec IMPORTXML ?