Table des matières
Découvrez comment extraire diverses données - texte, caractères, chiffres, URL, adresses électroniques, date et heure, etc. - à partir de différentes positions dans plusieurs cellules de Google Sheets à la fois.
Formules Google Sheets pour extraire du texte et des chiffres de chaînes de caractères
Les formules dans Google Sheets sont multiples. Alors que certaines combinaisons ajoutent du texte et des chiffres et suppriment divers caractères, d'autres extraient également du texte, des chiffres, des caractères séparés, etc.
Extraire les données par position : premier/dernier/milieu N caractères
Les fonctions les plus simples à utiliser pour extraire des données des cellules de Google Sheets sont LEFT, RIGHT et MID, qui récupèrent les données par position.
Extraire des données du début des cellules dans Google Sheets
Vous pouvez facilement extraire les N premiers caractères en utilisant la fonction GAUCHE :
LEFT(chaîne de caractères, [nombre_de_caractères])- chaîne de caractères est le texte dont vous voulez extraire les données.
- nombre_de_caractères est le nombre de caractères à retirer en partant de la gauche.
Voici l'exemple le plus simple : enlevons les codes pays des numéros de téléphone :
Comme vous pouvez le constater, les codes de pays prennent 6 symboles au début des cellules, la formule dont vous avez besoin est donc la suivante :
=LEFT(A2,6)
Astuce : ArrayFormula permettra d'obtenir 6 caractères de toute la gamme en une seule fois :
=ArrayFormula(LEFT(A2:A7,6))
Extraire des données de la fin des cellules dans Google Sheets
Pour extraire les N derniers caractères des cellules, utilisez plutôt la fonction DROITE :
DROIT(chaîne de caractères, [nombre_de_caractères])- chaîne de caractères est toujours le texte (ou une référence de cellule) dont on extrait les données.
- nombre_de_caractères est aussi le nombre de caractères à prendre à droite.
Obtenons ces noms de pays à partir des mêmes numéros de téléphone :
Ils ne prennent que 2 caractères et c'est exactement ce que je mentionne dans la formule :
=RIGHT(A2,2)
Astuce : ArrayFormula vous aidera également à extraire les données de l'extrémité de toutes les cellules de Google Sheets en une seule fois :
=ArrayFormula(RIGHT(A2:A7,2))
Extraire des données du milieu des cellules dans Google Sheets
S'il existe des fonctions permettant d'extraire des données du début et de la fin des cellules, il doit également exister une fonction permettant d'extraire des données du milieu. Et oui, il en existe une.
Cela s'appelle MID :
MID(string, starting_at, extract_length)- chaîne de caractères - le texte dans lequel vous voulez enlever la partie centrale.
- starting_at - la position du caractère à partir duquel vous voulez commencer à obtenir les données.
- longueur_extra - le nombre de caractères que vous devez extraire.
En reprenant l'exemple des mêmes numéros de téléphone, trouvons les numéros de téléphone eux-mêmes sans leur code pays et leur abréviation :
Comme les codes pays se terminent par le 6ème caractère et que le 7ème est le tiret, je vais tirer les numéros à partir du 8ème chiffre. Et j'obtiendrai 8 chiffres au total :
=MID(A2,8,8)
Conseil : en remplaçant une cellule par la plage entière et en l'enveloppant dans ArrayFormula, vous obtiendrez le résultat de chaque cellule en une seule fois :
=ArrayFormula(MID(A2:A7,8,8))
Extraction de textes/chiffres à partir de chaînes de caractères
Parfois, l'extraction du texte par position (comme indiqué ci-dessus) n'est pas une option. Les chaînes requises peuvent se trouver dans n'importe quelle partie de vos cellules et se composer d'un nombre différent de caractères, ce qui vous oblige à créer des formules différentes pour chaque cellule.
Mais Google Sheets ne serait pas Google Sheets s'il ne disposait pas d'autres fonctions permettant d'extraire du texte de chaînes de caractères.
Passons en revue quelques possibilités offertes par les feuilles de calcul.
Extraire les données avant un certain texte - LEFT+SEARCH
Lorsque vous voulez extraire les données qui précèdent un certain texte, utilisez GAUCHE + RECHERCHE :
- GAUCHE est utilisé pour retourner un certain nombre de caractères depuis le début des cellules (depuis leur gauche)
- RECHERCHE recherche certains caractères/chaînes et obtient leur position.
Combinez-les - et LEFT renverra le nombre de caractères suggérés par SEARCH.
Voici un exemple : comment extraire les codes textuels avant chaque "ea" ?
C'est la formule qui vous aidera dans des cas similaires :
=LEFT(A2,SEARCH("ea",A2)-1)
Voici ce qui se passe dans la formule :
- SEARCH("ea",A2) recherche 'ea' dans A2 et renvoie la position où ce 'ea' commence pour chaque cellule - 10.
- La 10ème position est donc celle où se trouve 'e'. Mais comme je veux tout ce qui se trouve juste avant 'ea', je dois soustraire 1 de cette position. Sinon, 'e' sera également renvoyé. J'obtiens donc 9 au final.
- GAUCHE regarde A2 et récupère les 9 premiers caractères.
Extraire les données après le texte
Il existe également des moyens de récupérer tout ce qui se trouve après une certaine chaîne de texte. Mais cette fois-ci, la fonction DROIT ne sera pas utile. À la place, REGEXREPLACE prend son tour.
Conseil : REGEXREPLACE utilise des expressions régulières. Si vous n'êtes pas prêt à les utiliser, il existe une solution beaucoup plus simple décrite ci-dessous. REGEXREPLACE(texte, expression_régulière, remplacement)
- texte est une chaîne de caractères ou une cellule dans laquelle vous souhaitez effectuer des modifications.
- expression_régulière est la combinaison de caractères qui représente une partie du texte que vous recherchez.
- remplacement est ce que vous voulez obtenir à la place de ce texte
Alors, comment l'utiliser pour extraire des données après un certain texte - "ea" dans mon exemple ?
Facile - en utilisant cette formule :
=REGEXREPLACE(A2, "(.*)ea(.*)", "$2")
Laissez-moi vous expliquer comment cette formule fonctionne exactement :
- A2 est une cellule dont j'extrais les données.
- "(.*)ea(.*)" est mon expression régulière (ou vous pouvez l'appeler un masque). Je recherche 'ea' et je mets tous les autres caractères entre parenthèses. Il y a 2 groupes de caractères - tout ce qui précède 'ea' est le premier groupe (.*) et tout ce qui suit 'ea' est le second (.*). Le masque entier est mis entre guillemets.
- "$2" est ce que je veux obtenir - le deuxième groupe (d'où son numéro 2) de l'argument précédent.
Conseil. Tous les caractères utilisés dans les expressions régulières sont rassemblés sur cette page spéciale.
Extraire des chiffres des cellules de Google Sheets
Que faire si vous voulez extraire uniquement les nombres lorsque leur position et tout ce qui précède & ; après n'a pas d'importance ?
Les masques (ou expressions régulières) sont également utiles. En fait, je vais prendre la même fonction REGEXREPLACE et modifier l'expression régulière :
=REGEXREPLACE(A2, "[^[:digit :]]", "")
- A2 est une cellule d'où je veux obtenir ces chiffres.
- "[^[:digit :]]" est une expression régulière qui prend tout sauf les chiffres. Le symbole ^caret est ce qui fait une exception pour les chiffres.
- "" remplace tout sauf les caractères numériques par "rien". Ou, en d'autres termes, les supprime entièrement, ne laissant que des chiffres dans les cellules. Ou encore, extrait les chiffres :)
Extraire du texte en ignorant les chiffres et autres caractères
De la même manière, vous pouvez supprimer uniquement les données alphabétiques des cellules de Google Sheets. La contraction de l'expression régulière qui correspond au texte est appelée en conséquence - alpha :
=REGEXREPLACE(A2,"[^[:alpha :]]", "")
Cette formule prend tout sauf les lettres (A-Z, a-z) et le remplace littéralement par "rien". Ou, pour le dire autrement, ne prend que les lettres.
Méthodes sans formule pour extraire des données des cellules de Google Sheets
Si vous recherchez un moyen simple et sans formule d'extraire différents types de données, vous êtes au bon endroit : notre module complémentaire Power Tools propose les outils qu'il vous faut.
Extraire différents types de données à l'aide de modules complémentaires Power Tools
Le premier outil que j'aimerais vous faire connaître s'appelle Extract. Il fait exactement ce que vous êtes venus chercher dans cet article : extraire différents types de données des cellules de Google Sheets.
Paramètres conviviaux
Tous les cas que j'ai couverts ci-dessus ne sont pas seulement solubles avec l'add-on. L'outil est convivial Il vous suffit donc de sélectionner la plage que vous souhaitez traiter et de cocher les cases nécessaires. Pas de formules, pas d'expressions régulières.
Vous vous rappelez le deuxième point de cet article avec REGEXREPLACE et les expressions régulières ? Voici à quel point c'est simple pour l'add-on :
Extra-options
Comme vous pouvez le voir, il y a quelques options supplémentaires (uniquement des cases à cocher) que vous pouvez allumer/éteindre rapidement pour obtenir le résultat le plus précis :
- Obtenez les chaînes de caractères de la casse de texte requise uniquement.
- Retirez toutes les occurrences de chaque cellule et placez-les dans une seule cellule ou dans des colonnes séparées.
- Insérez une nouvelle colonne avec le résultat à droite des données sources.
- Effacer le texte extrait des données sources.
Extraire différents types de données
Non seulement Power Tools extrait les données avant/après/entre certaines chaînes de texte et les N premiers/derniers caractères, mais il supprime également les éléments suivants :
- Les nombres avec leurs décimales en gardant les séparateurs décimaux/millièmes intacts :
Extraire n'importe quelle chaîne de données de n'importe où
Il est également possible de créer votre propre modèle exact et de l'utiliser pour l'extraction. Extrait par masque et ses caractères génériques - * et ? - font l'affaire :
- Par exemple, vous pouvez faire ressortir tout ce qui se trouve entre les parenthèses en utilisant le masque suivant : (*)
- Ou obtenez ces UGS qui n'ont que 5 chiffres dans leurs identifiants : SKU ?????
- Ou, comme je le montre sur la capture d'écran ci-dessous, tout retirer après chaque 'ea' dans chaque cellule : ea*
Extraire la date et l'heure des horodatages
En prime, il existe un outil plus petit qui permet d'extraire la date et l'heure des horodatages - il s'appelle Split Date & ; Time.
Bien qu'il ait été créé pour diviser les timestamps en premier lieu, il est parfaitement capable d'obtenir l'une des unités souhaitées individuellement :
Il suffit de cocher l'une des cases en fonction de ce que vous souhaitez extraire - date ou heure - des horodatages dans Google Sheets et de cliquer sur Split L'unité requise sera copiée dans une nouvelle colonne (ou elle remplacera les données d'origine si vous cochez également la dernière case) :
Cet outil fait également partie de l'extension Power Tools, donc une fois que vous l'avez installé pour obtenir n'importe quelles données à partir des cellules de Google Sheets, il vous couvre complètement. Si ce n'est pas le cas, veuillez laisser un commentaire et nous vous aiderons :)