Note: The other languages of the website are Google-translated. Back to English
English English

Comment extraire le premier / dernier / nième mot d'une chaîne de texte dans Excel?

Avez-vous déjà souffert du problème dont vous avez besoin pour extraire un certain mot de la chaîne de texte dans une feuille de calcul? Par exemple, vous avez la gamme suivante de chaînes de texte nécessaires pour en obtenir le premier / dernier ou le nième mot, ici je peux parler de quelques moyens efficaces pour le résoudre.


Extraire le premier mot ou le nom de la chaîne de texte avec des formules

Si vous devez extraire le premier mot d'une liste de chaînes de texte, les formules suivantes peuvent vous aider.

Pour extraire le premier mot, entrez la formule ci-dessous dans une cellule vide, puis faites glisser la poignée de remplissage automatique de cette cellule vers la plage selon vos besoins.

= SI (ISERR (FIND ("", A2)), "", GAUCHE (A2, FIND ("", A2) -1))

Pour extraire le dernier mot de chaque cellule, veuillez appliquer cette formule:

= SI (ISERR (TROUVER ("", A2)), "", DROITE (A2, LEN (A2) -FIND ("*", SUBSTITUTE (A2, "", "*", LEN (A2) -LEN ( SUBSTITUT (A2, "", ""))))))

Et maintenant, vous verrez que le premier ou le dernier mot est extrait de chaque cellule.

Notes: Dans les formules ci-dessus, A2 indique la cellule dont vous extrairez le premier ou le dernier mot.

Difficile de mémoriser de longues formules compliquées? Un outil incroyable vous aide à extraire le nième mot wen quelques clics seulement!

Les longues formules ci-dessus ne peuvent extraire que le premier et le dernier mot, mais seront inutiles pour extraire le nième mot spécifié, dit le deuxième mot, le sixième mot, etc. Même si vous pouvez trouver des formules pour résoudre le problème, les formules doivent être trop complexe pour être mémorisé et appliqué. Ici, la fonctionnalité Extraire le nième mot dans la cellule de Kutools for Excel est recommandée, et elle vous aidera à extraire le nième mot aussi facilement que possible! Essai gratuit complet de 30 jours!

Kutools pour Excel - Comprend plus de 300 outils pratiques pour Excel. Essai gratuit complet de 30 jours, aucune carte de crédit requise! Achetez-le Maintenant

Extraire le nième mot de la chaîne de texte avec la fonction définie par l'utilisateur

Si vous souhaitez extraire le deuxième, le troisième ou n'importe quel nième mot de la chaîne de texte, vous pouvez créer une fonction définie par l'utilisateur pour le gérer.

1. Maintenez le ALT + F11 clés pour ouvrir le Fenêtre Microsoft Visual Basic pour Applications.

2Cliquez sur insérer > Moduleet collez le code suivant dans le Module fenêtre.

Function FindWord(Source As String, Position As Integer)
'Update 20131202
Dim arr() As String
arr = VBA.Split(Source, " ")
xCount = UBound(arr)
If xCount < 1 Or (Position - 1) > xCount Or Position < 0 Then
    FindWord = ""
Else
    FindWord = arr(Position - 1)
End If
End Function

3. Ensuite, enregistrez le code, dans cet exemple, j'obtiendrai le troisième mot de la chaîne, alors tapez cette formule = mot de recherche (A2,3) dans une cellule B2 vide, puis faites glisser la poignée de remplissage automatique de cette cellule vers la plage selon vos besoins. Voir la capture d'écran:

Remarque : Dans la formule ci-dessus, A2 est la cellule d'où vous voulez extraire le mot, le nombre 3 indique le troisième mot de la chaîne que vous allez extraire et vous pouvez les modifier selon vos besoins.


Extraire chaque mot de la chaîne de texte et les lister horizontalement ou verticalement

Cette méthode présentera Kutools for Excel's Cellules divisés utilitaire pour extraire chaque mot des cellules de chaîne de texte, puis lister les mots extraits horizontalement ou verticalement en fonction de vos besoins.

Kutools pour Excel - Comprend plus de 300 outils pratiques pour Excel. Essai gratuit complet de 30 jours, aucune carte de crédit requise! Essai gratuit maintenant!

1. Sélectionnez les cellules de chaîne de texte dont vous extrairez leurs mots, puis cliquez sur le bouton Kutools > Fusionner et fractionner > Cellules divisés.

2. Dans la boîte de dialogue d'ouverture des cellules divisées, spécifiez le type de division dans le Catégorie section, vérifiez la Space option dans la Spécifiez un séparateur section, et cliquez sur Ok bouton. Voir la capture d'écran:

3. Spécifiez maintenant la plage de destination dans laquelle vous allez générer les mots extraits, puis cliquez sur le bouton OK bouton (dans la fenêtre de contrôle qui apparaît maintenant)

Si vous avez coché le Fractionner en colonnes dans la boîte de dialogue Diviser les cellules ci-dessus, chaque mot est extrait de chaque chaîne de texte et répertorié verticalement.

Si vous avez coché le Fractionner en lignes dans la boîte de dialogue Diviser les cellules ci-dessus, chaque mot est extrait de chaque chaîne de texte et répertorié horizontalement.


Extrayez le nième mot de la chaîne de texte dans Excel avec un outil incroyable

Si vous avez installé Kutools for Excel, vous pouvez utiliser sa fonction Formula Helper> Extraire le nième mot dans la cellule pour extraire rapidement le nième mot de la cellule spécifiée facilement.

Kutools pour Excel - Comprend plus de 300 outils pratiques pour Excel. Essai gratuit complet de 30 jours, aucune carte de crédit requise! Essai gratuit maintenant!

1. Sélectionnez la cellule dans laquelle vous placerez le mot extrait et cliquez sur Kutools > Aide à la formule > Aide à la formule pour activer cette fonctionnalité.

2. Dans la boîte de dialogue Formulas Helper, procédez comme suit:
(1) Sélectionnez Texte du Type de formule la liste déroulante;
(2) Cliquez pour mettre en évidence Extraire le nième mot de la cellule dans le Choisissez une formule zone de liste;
(3) Dans le Cellule , spécifiez la cellule à partir de laquelle vous extrairez le mot;
(4) Dans Le Nième boîte, spécifiez le nombre.

3. Clique le Ok bouton. Si nécessaire, faites glisser la poignée de saisie automatique de la cellule de formule et copiez la formule dans d'autres cellules.


Démo: extraire chaque mot de la chaîne de texte et les lister horizontalement ou verticalement


Kutools pour Excel comprend plus de 300 outils pratiques pour Excel, gratuits à essayer sans limitation en 30 jours. Téléchargez et essayez gratuitement maintenant!

Articles Liés:


Les meilleurs outils de productivité de bureau

Kutools for Excel résout la plupart de vos problèmes et augmente votre productivité de 80%

  • Réutilisation: Insérer rapidement formules complexes, graphiques et tout ce que vous avez utilisé auparavant; Crypter les cellules avec mot de passe; Créer une liste de diffusion et envoyer des e-mails ...
  • Barre Super Formula (modifiez facilement plusieurs lignes de texte et de formule); Disposition de lecture (lire et modifier facilement un grand nombre de cellules); Coller dans la plage filtréeplus
  • Fusionner les cellules / lignes / colonnes sans perdre de données; Contenu des cellules divisées; Combiner des lignes / colonnes en double... Empêcher les cellules en double; Comparer les gammesplus
  • Sélectionnez Dupliquer ou Unique Lignes; Sélectionnez les lignes vides (toutes les cellules sont vides); Super Find et Fuzzy Find dans de nombreux classeurs; Sélection aléatoire ...
  • Copie exacte Plusieurs cellules sans changer la référence de formule; Créer automatiquement des références à plusieurs feuilles; Insérer des puces, Cases à cocher et plus encore ...
  • Extrait du texte, Ajouter du texte, Supprimer par position, Supprimer l'espace; Créer et imprimer des sous-totaux de pagination; Conversion entre le contenu et les commentaires des cellulesplus
  • Super filtre (enregistrer et appliquer des schémas de filtrage à d'autres feuilles); Tri avancé par mois / semaine / jour, fréquence et plus; Filtre spécial par gras, italique ...
  • Combiner des classeurs et des feuilles de travail; Fusionner les tableaux en fonction des colonnes clés; Diviser les données en plusieurs feuilles; Conversion par lots xls, xlsx et PDFplus
  • Plus de 300 fonctionnalités puissantes. Prend en charge Office / Excel 2007-2019 et 365. Prend en charge toutes les langues. Déploiement facile dans votre entreprise ou organisation. Essai gratuit de 30 jours. Garantie de remboursement de 60 jours.
onglet kte 201905

Office Tab apporte une interface à onglets à Office et simplifie considérablement votre travail

  • Activer l'édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50% et réduit des centaines de clics de souris chaque jour!
bas de cabine
Commentaires (38)
Pas encore de notes. Soyez le premier à évaluer!
Ce commentaire a été minimisé par le modérateur sur le site
Ce code vba est fantastique, merci beaucoup.
Ce commentaire a été minimisé par le modérateur sur le site
Cette fonction définie par l'utilisateur est géniale ! Merci beaucoup de le partager.
Ce commentaire a été minimisé par le modérateur sur le site
Merci beaucoup! A bien fonctionné ! :-)
Ce commentaire a été minimisé par le modérateur sur le site
C'était SUPER utile, je me demandais si quelqu'un connaissait une liste téléchargeable ou un copier-coller de fonctions utiles faites à la main telles que "FindWord" que je pourrais utiliser.
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, je me demandais simplement ce que je pouvais insérer d'autre dans la formule Visual Basic qui pourrait extraire des virgules ou des tirets immédiatement après les données .. par exemple Fortin-
Ce commentaire a été minimisé par le modérateur sur le site
Salut, c'est excellent. Cela a très bien fonctionné et réduit notre souche fait gagner beaucoup de temps dans cette opération. Merci à tous ceux qui ont travaillé dessus et partagé...
Ce commentaire a été minimisé par le modérateur sur le site
Bon. Cela a très bien fonctionné
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, Cela fait vraiment gagner beaucoup de temps. Merci pour le partage Quelqu'un peut-il également suggérer comment nous pouvons extraire les mots avec vba de manière inverse, par exemple le dernier mot est 1, le second de droite à gauche est 2 et ainsi de suite. Ce sera très apprécié.
Ce commentaire a été minimisé par le modérateur sur le site
Cela ne fonctionne pas correctement sur une chaîne source composée de non-mots (comme des noms de fournisseurs suivis de numéros de pièces)
Ce commentaire a été minimisé par le modérateur sur le site
comment pouvons-nous changer les polices pour le nième mot dans une cellule
Ce commentaire a été minimisé par le modérateur sur le site
Très appréciée. Cela m'a beaucoup aidé.
Ce commentaire a été minimisé par le modérateur sur le site
Bonjour, merci pour votre bout de code. Cela m'a donné envie de développer un peu. Avec les lignes suivantes, vous pouvez sélectionner : dernier mot (0), un avant-dernier (-1), avant-dernier (-2) etc. Quel que soit le nombre de mots. Function FindWord(Source As String, Position As Integer) 'Mise à jour 20150504 Dim arr() As String arr = VBA.Split(Source, " ") xCount = UBound(arr) Sélectionnez Case Position Case -xCount To 0 FindWord = arr(xCount + Position) Case 1 To (xCount + 1) FindWord = arr(Position - 1) Case Else FindWord = "" End Select End Function
Ce commentaire a été minimisé par le modérateur sur le site
Salut, juste un ajout au code hier. Cela ajoute une ligne supplémentaire pour ajuster les espaces redondants dans la chaîne source : arr = VBA.Split(WorksheetFunction.Trim(Source), " ") regards, Allart
Ce commentaire a été minimisé par le modérateur sur le site
Merci Alan, c'est super, merci ! :)
Ce commentaire a été minimisé par le modérateur sur le site
Merci BEAUCOUP !!
Ce commentaire a été minimisé par le modérateur sur le site
Salut .. Merci pour votre code, j'ai des phrases de liste, et l'une d'elles juste 1 mot, et votre code ne fonctionne pas s'il n'a qu'un seul mot ..
Ce commentaire a été minimisé par le modérateur sur le site
Je n'arrive pas à faire fonctionner le code du premier mot si une partie de ma liste ne contient qu'un seul mot dans la cellule. par exemple premier mot ---> première seconde ---> [null] dernier mot ---> dernier
Ce commentaire a été minimisé par le modérateur sur le site
Essayez ceci (voir ma réponse ci-dessus): Function FindWord(Source As String, Position As Integer) ' obtient 1st, 2nd, last(0), second to last(-2) etc, word from a string ' Update 20150505 Dim arr( ) As String arr = VBA.Split(WorksheetFunction.Trim(Source), " ") xCount = UBound(arr) Select Case Position Case -xCount To 0 FindWord = arr(Position + xCount) Case 1 To xCount + 1 FindWord = arr (Position - 1) Case Else FindWord = "" End Select
Ce commentaire a été minimisé par le modérateur sur le site
Salut les geeks, j'ai une cellule comme celle-ci : 1 ABCD ; 2 DEDF ; 1 DED#3d ; 4 FDWDS ; 1 ED Et je voudrais extraire le caractère après 1. Je souhaite donc avoir un résultat comme ci-dessous : ABCD;DED#3d;ED
Ce commentaire a été minimisé par le modérateur sur le site
J'ai 64 bits Excel 2013 et il me manque le complément Morefunc. Sur la base du code ci-dessus, j'ai trouvé ce remplacement pour la fonction WMID de Morefunc. Je serais reconnaissant si quelqu'un de plus expert que moi pouvait en faire le ménage. Fonction WMid1(Source As String, Position facultative As Integer, Facultative WordCount As Integer, Facultative Separator As String) Dim arr() As String Dim xCount As Integer Dim wCount As Integer Dim wFirst As Integer Dim wLast As Integer If Position = 0 Then Position = 1 Si WordCount = 0 Alors WordCount = 1 Si Séparateur = "" Alors Séparateur = " " arr = VBA.Split(Trim(Source), Séparateur) xCount = UBound(arr) + 1 Si Position < 1 Alors wFirst = Application. Max(xCount + Position - WordCount + 1, 0) wLast = xCount + Position Else wFirst = Position - 1 wLast = Application.Min(xCount - 1, Position + WordCount - 2) End If If xCount < 2 Or Abs(Position) > xCount Then WMid1 = "" Else WMid1 = arr(wFirst) For wCount = wFirst + 1 To wLast WMid1 = WMid1 & Separator & arr(wCount) Next End If WMid1 = Trim(WMid1) End Function
Il n'y a pas encore de commentaires postés ici
TÉLÉCHARGER PLUS
Laisser vos commentaires
Publier en tant qu'invité
×
Évaluez cet article:
0   Personnages
Emplacements suggérés