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 :
- 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
- 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
- ce qui me donne le nombre de caractères à extraire à partir de la fin de l'URL avec
RIGHT
É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));"/")
É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)
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.
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.
Et voilà !
- Partager sur Twitter
- Partager sur Facebook
- Partager sur LinkedIn
- Partager sur Pinterest
- Partager par E-mail
- Copier le lien
Un Template Google Sheets Offert ! 🎁
Rejoins ma newsletter et reçois une astuce SEO chaque mercredi ! En cadeau, je t'offre un template Google Sheets avec 50 fonctions de scraping prêtes à l'emploi.