KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Come categorizzare stringhe di testo in base a parole chiave in Excel?

AutoreXiaoyang Data di modifica

Quando si lavora con grandi volumi di dati in Excel, organizzare le voci di testo in base a parole chiave specifiche è spesso essenziale per semplificare la creazione di report o l’analisi dei dati. Immaginiamo, ad esempio, di avere un elenco di stringhe di testo nella colonna A e di voler categorizzare ciascuna voce in base alle parole chiave indicate nella colonna D: ogni cella contenente «Kutools» andrebbe assegnata alla categoria «Extendoffice», mentre qualsiasi stringa con «calcio» o «basket» verrebbe classificata come «Sport». Lo screenshot seguente illustra proprio uno scenario di questo tipo. Eseguire queste operazioni manualmente può rivelarsi non solo dispendioso in termini di tempo, ma anche soggetto a errori, soprattutto all’aumentare della quantità di dati da elaborare. In questo articolo scopriremo metodi pratici ed efficienti per categorizzare automaticamente tali stringhe di testo, ottimizzando così la velocità di organizzazione dei dati e migliorando la qualità complessiva del flusso di lavoro in Excel.

classifica stringhe di testo in base a parole chiave

Categorizza un elenco di stringhe di testo in base a parole chiave con una formula matriciale

Categorizza stringhe di testo in base a parole chiave con codice VBA


Categorizza un elenco di stringhe di testo in base a parole chiave con una formula matriciale

Puoi utilizzare una formula matriciale per assegnare automaticamente categorie alle stringhe di testo in base alle parole chiave corrispondenti, soluzione particolarmente utile con grandi set di dati in cui l’ordinamento manuale non è fattibile. Le formule matriciali offrono potenti capacità di riconoscimento di schemi in Excel, consentendoti di creare un collegamento dinamico tra i dati e i gruppi di parole chiave. Questo approccio è utile in scenari quali l’etichettatura automatica dei feedback dei clienti, l’organizzazione dell’inventario o l’ordinamento delle email in base al contenuto.

1. Organizza i tuoi dati come necessario: di solito le stringhe di testo (da categorizzare) si trovano nella colonna A, le parole chiave nella colonna D e le relative categorie nella colonna E. Consulta lo screenshot d’esempio qui sotto per vedere una disposizione tipica dei dati.

dati di esempio

2. Accedi a una cella vuota adiacente ai tuoi dati originali (ad esempio, inizia dalla cella B2 se le tue stringhe si trovano nell’intervallo A2:A10) e inserisci la seguente formula matriciale:

=INDEX($E$2:$E$8,MATCH(TRUE,ISNUMBER(SEARCH($D$2:$D$8,A2)),0))
  • Suggerimenti: Nella seguente formula:
  • $E$2:$E$8: è l'intervallo contenente i nomi delle categorie da assegnare a ciascuna stringa di testo;
  • $D$2:$D$8: è la colonna contenente le parole chiave che si desidera trovare all'interno delle stringhe di testo;
  • A2: è la cella contenente la stringa di testo da analizzare e categorizzare.

Per ottenere i migliori risultati, assicurati che l’elenco delle parole chiave e le relative categorie siano perfettamente allineati riga per riga e che negli intervalli di ricerca non vi siano celle vuote. Controlla con attenzione la presenza di errori di battitura o spazi superflui nelle parole chiave, per evitare mancate corrispondenze.

3. Premi Ctrl + Maiusc + Invio (invece del solo tasto Invio) dopo aver inserito la formula. Excel racchiuderà automaticamente la formula tra parentesi graffe, indicando che si tratta di una formula matriciale. In questo modo verrà assegnata la categoria corretta alla prima stringa. Poi, usa il quadratino di riempimento per estendere la formula lungo tutta la colonna e categorizzare automaticamente tutte le voci del tuo elenco. Vedi lo screenshot:

Classifica un elenco di stringhe di testo in base a parole chiave con una formula matriciale

Quando utilizzi formule matriciali, è fondamentale usare la combinazione di tasti corretta; inoltre, durante la copia della formula, assicurati di non interrompere la struttura matriciale. Se il tuo Intervallo dati si espande, aggiorna gli intervalli nella formula per garantire una categorizzazione accurata.

uno screenshot di kutools for excel ai

Sblocca la magia di Excel con KUTOOLS AI

  • Esecuzione intelligente: Esegui operazioni sulle celle, analizza i dati e crea grafici, il tutto con comandi semplici e intuitivi.
  • Formule personalizzate: crea formule su misura per ottimizzare i tuoi flussi di lavoro.
  • Codifica VBA: Scrivi e implementa codice VBA in modo semplice e immediato.
  • Interpretazione delle formule: Comprendi con facilità anche le formule più complesse.
  • Traduzione del testo: Superate le barriere linguistiche direttamente nei vostri fogli di calcolo.
Potenzia le tue capacità in Excel con strumenti basati sull’intelligenza artificiale.Scarica orae scopri un’efficienza mai provata prima!

Categorizza stringhe di testo in base a parole chiave con codice VBA

Se devi categorizzare regolarmente grandi volumi di stringhe di testo e cerchi una soluzione flessibile e automatizzata, VBA ti offre un metodo per elaborare dinamicamente i dati e assegnare categorie in base alle corrispondenze con parole chiave. Questo approccio è ideale per utenti avanzati che desiderano personalizzare le proprie regole di categorizzazione o integrarle in flussi di lavoro automatizzati. Una macro VBA può ridurre drasticamente il carico di lavoro manuale e garantire una gestione robusta degli errori per gli abbinamenti personalizzati tra parole chiave e categorie.

1. Apri l’Editor di VBA in Excel facendo clic su Strumenti di sviluppo > Visual Basic. Nella finestra visualizzata, vai su Inserisci > Modulo per creare un nuovo modulo. Copia e incolla il seguente codice VBA nel modulo:

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. Per eseguire la macro, fai clic sul pulsante Pulsante Esegui«Esegui» oppure premi F5 nella finestra di VBA. La macro elaborerà tutte le voci nella colonna A a partire dalla riga 2, cercando le parole chiave elencate nella colonna D e inserendo la categoria corrispondente della colonna E nella colonna B.

Ricorda di adeguare gli intervalli delle parole chiave o delle categorie se il tuo elenco supera l’esempio mostrato. Se necessario, personalizza la macro per gestire corrispondenze multiple o sovrapposte, oppure per assegnare categorie predefinite agli elementi privi di corrispondenza. Effettua sempre un backup dei tuoi dati prima di eseguire nuovo codice e salva la cartella di lavoro in formato abilitato alle macro (.xlsm) per poterla riutilizzare in futuro.

Scarica il file di esempio

Clicca per scaricare il file di esempio!


Altri articoli correlati sulla categorizzazione del testo:

  • Categorizza dati In base al valore in Excel
  • Supponiamo che tu debba categorizzare un elenco di dati in base al valore: ad esempio, se un dato è maggiore di 90, viene classificato come “Alto”; se è compreso tra 60 e 90, come “Medio”; se è inferiore a 60, come “Basso”. In che modo puoi svolgere questo compito in Excel?
  • Assegna un valore o una categoria in base a un intervallo numerico
  • Questo articolo illustra come assegnare un valore o una categoria in base a un intervallo limitato in Excel. Ad esempio, se il numero rientra tra 0 e 100, viene assegnato il valore 5; se è compreso tra 101 e 500, il valore assegnato è 10; infine, per l’intervallo da 501 a 1000, viene assegnato 15. Il metodo descritto ti permetterà di completare questa operazione in modo rapido ed efficace.
  • Calcola o assegna il voto in lettere in Excel
  • Assegnare un voto in lettere a ciascuno studente in base al punteggio ottenuto è un compito comune per gli insegnanti. Ad esempio, ho definito una scala di valutazione in cui i punteggi da 0 a 59 corrispondono a F, da 60 a 69 a D, da 70 a 79 a C, da 80 a 89 a B e da 90 a 100 ad A, come mostrato nello screenshot seguente. In Excel, come puoi calcolare rapidamente e facilmente il voto in lettere partendo dal punteggio numerico?
  • Assegna un numero progressivo ai valori duplicati o univoci
  • Se hai un elenco di valori contenente alcuni duplicati, è possibile assegnare un numero progressivo ai valori duplicati o univoci? Ciò significa dare un ordine sequenziale ai Valori duplicati o ai valori univoci. In questo articolo illustrerò alcune formule semplici per aiutarti a risolvere questo compito in Excel.

  • Super Barra delle formule (modifica facilmente più righe di testo e formule); Layout di lettura (leggi e modifica con facilità un gran numero di celle); Incolla in Intervallo di filtro...
  • Unisci celle/righe/colonne e conserva i dati; dividi il contenuto delle celle; combina righe duplicate e calcola somma/media…; previeni voci duplicate; confronta intervalli
  • Seleziona duplicati o valori univoci nelle righe; Seleziona righe vuote (tutte le celle sono vuote); Super Trova e ricerca fuzzy in molte cartelle di lavoro; selezione casuale…
  • Copia esatta di celle multiple senza modificare i riferimenti delle formule; creazione automatica di riferimenti a più fogli; inserisci punti elenco, caselle di controllo e molto altro...
  • Formule preferite e inserimento rapido, intervalli, grafici e immagini; crittografa le celle con password; crea un elenco di invio e invia email...
  • Estrai testo, aggiungi testo, rimuovi caratteri da una posizione specifica, elimina spazi; crea e stampa statistiche dei dati della pagina; converti il contenuto delle celle in commenti e viceversa...
  • Super Filtri (salva e applica schemi di filtro ad altri fogli); Ordinamento avanzato per mese, settimana, giorno, frequenza e molto altro; Filtro speciale per grassetto, corsivo…
  • Combina cartelle e fogli di lavoro; unisci tabelle in base a una colonna chiave; suddividi i dati in più fogli; converti in batch file xls, xlsx e PDF...
  • Raggruppa la tabella pivot per numero di settimana, giorno della settimana e altro ancora...Mostra le celle sbloccate e blocca la selezione con colori diversi;Evidenzia le celle contenenti formule o nomi...
kte tab 201905
  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, invece che in finestre separate.
  • Aumenta la tua produttività del 50 % e riduci centinaia di clic del mouse ogni giorno!
officetab bottom