KutoolsforOffice — Une solution unique, cinq outils puissants.Faire plus avec moins d'efforts.Soldes de mars : 20 % de réduction

Comment catégoriser des chaînes de texte en fonction de mots-clés dans Excel ?

AuteurXiaoyang Date de modification

Lorsque vous travaillez avec de grands ensembles de données dans Excel, il vous arrive souvent d’avoir besoin d’organiser des entrées textuelles selon des mots-clés spécifiques, ce qui facilite les processus de reporting ou d’analyse. Par exemple, supposez que vous disposiez d’une liste de chaînes de texte variées dans la colonne A. Vous souhaitez catégoriser chaque entrée en fonction de mots-clés répertoriés dans la colonne D — par exemple, regrouper toute cellule contenant « Kutools » sous « Extendoffice », ou attribuer toute chaîne mentionnant « football » ou « basketball » à la catégorie « Sport ». La capture d’écran suivante illustre un tel scénario. Effectuer cette tâche manuellement peut être long et source d’erreurs, surtout à mesure que votre jeu de données s’agrandit. Dans cet article, nous explorons des méthodes pratiques et efficaces pour catégoriser automatiquement ces chaînes de texte, afin d’améliorer la qualité de l’organisation des données et de fluidifier votre flux de travail dans Excel.

catégoriser des chaînes de texte en fonction de mots-clés

Catégoriser une liste de chaînes de texte en fonction de mots-clés à l’aide d’une formule matricielle

Catégoriser des chaînes de texte en fonction de mots-clés à l’aide d’un code VBA


Catégoriser une liste de chaînes de texte en fonction de mots-clés à l’aide d’une formule matricielle

Vous pouvez utiliser une formule matricielle pour attribuer automatiquement des catégories à des chaînes de texte selon des mots-clés correspondants — une solution particulièrement efficace avec de grands jeux de données, où le tri manuel n’est tout simplement pas envisageable. Les formules matricielles offrent dans Excel des capacités puissantes de reconnaissance de motifs, vous permettant d’établir un lien dynamique entre vos données et vos groupes de mots-clés. Cette approche s’avère précieuse dans des cas concrets tels que l’étiquetage automatique des retours clients, l’organisation d’un inventaire ou le tri d’e-mails en fonction de leur contenu.

1. Organisez vos données comme il se doit : placez généralement les chaînes de texte (à catégoriser) en colonne A, les mots-clés en colonne D et les catégories correspondantes en colonne E. Reportez-vous à la capture d’écran ci-dessous pour un exemple de disposition de jeu de données.

données d'exemple

2. Accédez à une cellule vide adjacente à vos données d’origine (par exemple, commencez en B2 si vos chaînes se trouvent en A2:A10) et saisissez la formule matricielle suivante :

=INDEX($E$2:$E$8,MATCH(TRUE,ISNUMBER(SEARCH($D$2:$D$8,A2)),0))
  • Conseils: Dans cette formule :
  • $E$2:$E$8: correspond à la plage contenant les noms de catégories à attribuer à chaque chaîne de texte ;
  • $D$2:$D$8: correspond à la colonne contenant les mots-clés que vous souhaitez rechercher dans vos chaînes de texte ;
  • A2 : cellule contenant la chaîne de texte à analyser et à catégoriser.

Pour de meilleurs résultats, assurez-vous que la liste des mots-clés et les catégories correspondantes sont alignées ligne par ligne et qu’il n’y a aucune cellule vide dans vos plages de recherche. Vérifiez attentivement les fautes de frappe ou les espaces superflus dans les mots-clés afin d’éviter les non-correspondances.

3. Appuyez sur Ctrl + Maj + Entrée (au lieu de simplement sur Entrée) après avoir saisi la formule. Excel entourera alors la formule d’accolades, indiquant qu’il s’agit d’une formule matricielle. La catégorie appropriée sera automatiquement générée pour la première chaîne. Ensuite, utilisez la poignée de recopie pour étirer la formule vers le bas de la colonne et catégoriser instantanément toutes les entrées de votre liste. Voir la capture d’écran :

Catégoriser une liste de chaînes de texte en fonction de mots-clés à l’aide d’une formule matricielle

Lorsque vous utilisez des formules matricielles, il est essentiel d’utiliser la bonne combinaison de touches, et lors de la copie de la formule, veillez à ne pas rompre la structure matricielle. Si votre Plage de données s’agrandit, mettez à jour les plages dans votre formule pour garantir une catégorisation précise.

une capture d’écran de kutools for excel ia

Libérez la magie d’Excel avec Kutools IA

  • Exécution intelligente : effectuez des opérations sur les cellules, analysez des données et créez des graphiques, le tout à partir de commandes simples.
  • formules personnalisées : créez des formules sur mesure pour rationaliser vos flux de travail.
  • Programmation VBA : Écrivez et implémentez du code VBA en toute simplicité.
  • Interprétation de formules : Décryptez facilement les formules complexes.
  • Traduction de texte : Franchissez les barrières linguistiques directement depuis vos feuilles de calcul.
Améliorez vos capacités Excel grâce à des outils alimentés par l’intelligence artificielle.Téléchargez dès maintenantet découvrez une efficacité inégalée !

Catégoriser des chaînes de texte en fonction de mots-clés à l’aide d’un code VBA

Si vous devez régulièrement classer de grands volumes de chaînes de texte et recherchez une solution automatisée et flexible, VBA vous permet de traiter les données de manière dynamique et d’attribuer des catégories en fonction de correspondances avec des mots-clés. Cette approche s’adresse aux utilisateurs avancés souhaitant personnaliser leurs règles de catégorisation ou les intégrer à d’autres flux de travail automatisés. Une macro VBA peut réduire considérablement la charge manuelle tout en assurant une gestion robuste des erreurs pour les associations personnalisées entre mots-clés et catégories.

1. Ouvrez l’éditeur VBA dans Excel en cliquant sur Outils de développement > Visual Basic. Dans la fenêtre qui s’ouvre, accédez à Insertion > Module pour créer un nouveau module. Copiez-collez le code VBA suivant dans le module :

Sub CategorizeByKeywords()
    Dim cell As Range
    Dim keywordRng As Range
    Dim categoryRng As Range
    Dim i As Integer
    Dim lastRowA As Long
    Dim lastRowD As Long
    Dim matchFound As Boolean
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    lastRowA = Cells(Rows.Count, "A").End(xlUp).Row
    lastRowD = Cells(Rows.Count, "D").End(xlUp).Row
    
    Set keywordRng = Range("D2:D" & lastRowD)
    Set categoryRng = Range("E2:E" & lastRowD)
    
    For Each cell In Range("A2:A" & lastRowA)
        matchFound = False
        For i = 1 To keywordRng.Rows.Count
            If InStr(1, cell.Value, keywordRng.Cells(i, 1).Value, vbTextCompare) > 0 Then
                cell.Offset(0, 1).Value = categoryRng.Cells(i, 1).Value
                matchFound = True
                Exit For
            End If
        Next i
        
        If Not matchFound Then
            cell.Offset(0, 1).Value = "" ' Assign blank if no keyword matched
        End If
    Next cell
End Sub

2. Pour exécuter la macro, cliquez sur le bouton Bouton Exécuter« Exécuter » ou appuyez sur F5 dans la fenêtre VBA. La macro traitera toutes les entrées de la colonne A à partir de la ligne 2, recherchera les mots-clés listés dans la colonne D et inscrira la catégorie correspondante issue de la colonne E dans la colonne B.

N’oubliez pas d’ajuster les plages mot-clé/catégorie si votre liste dépasse l’exemple affiché. Si nécessaire, personnalisez la macro pour gérer les correspondances multiples ou chevauchantes, ou pour attribuer des catégories par défaut aux éléments non reconnus. Sauvegardez toujours vos données avant d’exécuter un nouveau code, et enregistrez votre classeur au format compatible macro (.xlsm) afin de le réutiliser ultérieurement.

Télécharger le fichier exemple

Cliquez pour télécharger le fichier exemple !


Autres articles connexes sur la catégorisation de texte :

  • Catégoriser des données Basé sur la valeur dans Excel
  • Supposons que vous deviez catégoriser une liste de données Basé sur la valeur, par exemple : si une valeur est supérieure à 90, elle sera classée comme « Élevée » ; si elle est supérieure à 60 et inférieure à 90, elle sera classée comme « Moyenne » ; et si elle est inférieure à 60, elle sera classée comme « Faible ». Comment résoudre cette tâche dans Excel ?
  • Attribuer une valeur ou une catégorie en fonction d’une plage numérique
  • Cet article explique comment attribuer une valeur ou une catégorie en fonction d’une plage limitée dans Excel. Par exemple, si un nombre se situe entre 0 et 100, attribuez-lui la valeur 5 ; s’il est compris entre 101 et 500, attribuez 10 ; et pour la plage de 501 à 1000, attribuez 15. La méthode présentée ici vous permettra d’y parvenir facilement.
  • Calculer ou attribuer une note alphabétique dans Excel
  • Attribuer une note alphabétique à chaque élève en fonction de ses résultats est une tâche courante pour les enseignants. Par exemple, j’ai défini une échelle de notation selon laquelle les scores de 0 à 59 correspondent à un F, 60 à 69 à un D, 70 à 79 à un C, 80 à 89 à un B, et 90 à 100 à un A, comme illustré dans la capture d’écran ci-dessous. Dans Excel, comment obtenir rapidement et facilement une note alphabétique à partir d’un score numérique ?
  • Attribuer un numéro séquentiel aux valeurs en double ou uniques
  • Si vous disposez d’une liste de valeurs contenant des doublons, pouvez-vous leur attribuer un numéro séquentiel — qu’elles soient uniques ou répétées ? Autrement dit, il s’agit d’attribuer un ordre séquentiel aux valeurs en fonction de leur unicité ou de leur duplication. Dans cet article, nous vous présentons quelques formules simples pour réaliser cette opération facilement dans Excel.

  • Super Barre de formule (modifiez facilement plusieurs lignes de texte et de formules) ; Mode Lecture (lisez et modifiez aisément un grand nombre de cellules) ; Coller dans Plage de filtrage...
  • Fusionner des cellules, lignes ou colonnes tout en conservant les données ; diviser le contenu des cellules ; combiner les lignes en double avec somme ou moyenne… empêcher les doublons dans les cellules ; comparer des plages
  • Sélectionner les doublons ou les éléments uniques dans les lignes ; Sélectionner les lignes vides (toutes les cellules sont vides) ; Super Recherche et recherche floue dans de nombreux classeurs ; sélection aléatoire…
  • Copiez plusieurs cellules sans modifier les références de formule ; créez automatiquement des références vers plusieurs feuilles ; insérez des puces, des cases à cocher et bien plus encore…
  • Favoris et insertion rapide de formules, plages, graphiques et images ; crypter les cellules avec mot de passe ; créer une liste de diffusion et envoyer des e-mails…
  • Extraire du texte, ajouter du texte, supprimer les caractères à une position donnée, supprimer les espaces ; créer et imprimer les statistiques de la page de données ; convertir le contenu des cellules en commentaires et inversement...
  • Super Filtre (enregistrez et appliquez des schémas de filtre à d’autres feuilles) ; Tri avancé par mois, semaine, jour, fréquence, etc. ; Filtre spécial par gras, italique…
  • Combinez plusieurs classeurs et feuilles de calcul en un seul ; fusionnez des tableaux à partir d’une colonne clé ; répartissez vos données dans plusieurs feuilles ; convertissez en lot vos fichiers xls, xlsx et PDF
  • Regroupement dans un tableau croisé dynamique par numéro de semaine, jour de la semaine et bien plus encore…Afficher les cellules non verrouillées et verrouiller la sélection avec des couleurs distinctes ;Mettre en surbrillance les cellules contenant une formule ou un nom défini
onglet kte 201905
  • Activez 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 vous évite des centaines de clics de souris chaque jour !
bas de page OfficeTab