Ce qui suit est tiré du blog de PositSum. La façon la plus simple de diviser des cellules et des colonnes, de combiner des cellules et des colonnes, et de corriger d’autres erreurs courantes de transcription OCR et de saisie de données dans Google Sheets est d’utiliser le module complémentaire gratuit, Paperpusher. Cet article de blog montre comment diviser les cellules et les colonnes si vous ne voulez pas télécharger le module complémentaire.
Lorsque je copie-colle des tableaux d’un format vers une feuille de calcul, je me retrouve souvent avec des cellules et des colonnes que je dois diviser ensemble. Habituellement, Google Sheets gère assez bien cette situation. Par exemple, si j’ai un tas de valeurs séparées par des virgules, comme indiqué ci-dessous :
Valeurs : 5, 6, 8, 12
Je peux simplement aller dans Données et cliquer sur « Diviser le texte en colonnes », comme le montre la capture d’écran ci-dessous. Je peux laisser Google s’en charger automatiquement, ou choisir le séparateur dont j’ai besoin. Aussi simple que cela.
Mais que faire si vos séparateurs ne sont pas cohérents ? Prenez par exemple les 9 cellules suivantes :
Original : 56, 56A, 180 000 chiens
Séparation souhaitée 1 : 5, 56, 180 000
Séparation souhaitée 2 : 6, A, chiens
Dans la première, je veux séparer 56 en deux cellules, 5 et 6. Dans la deuxième, je veux diviser 56A en chiffres et une lettre. Dans la troisième, je veux diviser entre le nombre et le mot.
Pour diviser entre ces éléments, je dois utiliser des expressions régulières. Cela me permet d’examiner des « chaînes », ou des morceaux de texte, et de les manipuler en fonction de règles. Plus les règles sont générales, moins j’aurai à écrire. En outre, avant de commencer à utiliser les expressions régulières, je dois forcer les cellules à être du texte, ce que je peux faire en utilisant la commande de formule =TEXT, ou je peux le faire avec l’option de menu suivante.
Mon plan est de créer des règles pour mettre la bonne chaîne de caractères dans « Division souhaitée 1 », puis je dirai simplement à Google de mettre ce qui reste dans « Division souhaitée 2 ». Allons-y.
Pour sélectionner le « 5 » parmi « 56 », je dis à Google de sélectionner le premier chiffre de la chaîne. Je le fais en utilisant cette formule en B2:
=REGEXEXTRACT(A2, » »)
Ceci indique à Google d’extraire de la cellule A2 (« 56″) tout chiffre unique de 0 à 9. Une fois que j’ai fait cela, je peux dire à Google de mettre dans la cellule C2 ce qui reste de la cellule A2. Ma formule spécifique pour la cellule C2 est :
=REGEXREPLACE(A2,B2, » »)
Ceci indique à Google de regarder A2, et de remplacer le « 5 » dans A2 par rien « ». J’utiliserai cette même formule pour les cellules C3 et C4.
Pour la cellule B3, cependant, je dois trouver un moyen de dire à Google d’extraire uniquement les chiffres de la cellule A3. Je le fais avec la formule
=REGEXEXTRACT(A3, « * »)
Ceci indique à Google d’extraire de la cellule A3 tout chiffre répété un nombre quelconque de fois *. J’obtiens donc 56. J’utilise la même formule de la cellule C2 pour mettre le reste dans la cellule C3.
Enfin, pour la cellule A4, je dois trouver un moyen de dire à Google d’extraire uniquement les chiffres. Mais, il y a un hic : la virgule est incluse dans le nombre. Si j’extrais les chiffres sans la virgule, je vais me retrouver avec une virgule pendante, ce qui n’aura aucun sens. J’utilise donc la formule suivante :
=REGEXEXTRACT(A4, « ** »)
Ceci indique à Google d’extraire de A4 tout nombre de chiffres *, suivi d’une virgule , suivi de tout nombre de chiffres *. Il extraira cela et seulement cela. Je peux ensuite répéter pour la cellule C4 ma formule que j’ai utilisée pour C3.
Evidemment, il est impossible de combiner mes formules pour les cellules B2, B3 et B4, car dans B2, je voulais séparer les chiffres, mais dans B3 et B4, je voulais les garder ensemble. Mais, je peux combiner ma formule pour B3 et B4, et dire à Google que je veux toujours extraire le nombre, qu’il y ait une virgule ou non, et qu’il y ait un espace entre le dernier nombre et la première lettre ou non.
J’utilise donc la formule :
=REGEXEXTRACT(A3, « **|* »)
Ceci utilise l’opérateur OR |, et indique à Google d’extraire de A3 soit un nombre formaté avec une virgule, comme « 180 000 », soit | un nombre formaté sans virgule. Notez que l’ordre est important : je demande à Google de vérifier d’abord s’il y a une virgule, puis, si ce n’est pas le cas, d’extraire le nombre sans virgule. Si c’était dans l’ordre inverse, Google ne vérifierait pas s’il y a une virgule et extrairait simplement « 180 », qui sont les chiffres avant la virgule.
Il est plus facile de diviser des cellules et des colonnes, de combiner des cellules et des colonnes et de corriger d’autres erreurs courantes de transcription OCR et de saisie de données dans Google Sheets en utilisant le module complémentaire gratuit, Paperpusher. Découvrez-le !