Skip to main content

Come cercare e concatenare più valori corrispondenti in Excel?

Author: Xiaoyang Last Modified: 2025-08-06

Quando si utilizza la funzione CERCA.VERT in Excel, questa restituirà generalmente solo il primo valore corrispondente che trova per un determinato criterio di ricerca. Tuttavia, ci sono molte situazioni comuni in cui potrebbe essere necessario recuperare e combinare tutti i valori corrispondenti associati a una particolare chiave, come elencare tutti gli studenti di una classe o tutti i prodotti associati a una certa categoria. Poiché la funzione CERCA.VERT standard è limitata in questo senso, ci si può chiedere come sia possibile ottenere la capacità di cercare e concatenare più risultati corrispondenti in una singola cella. Di seguito, esploreremo diversi metodi pratici ed efficienti per svolgere questo compito, adatti a diverse versioni di Excel e preferenze degli utenti.


Cerca verticale e concatena più valori corrispondenti con le funzioni TESTO.UNISCI e FILTRO

Se stai utilizzando Excel 365 o Excel 2021, la combinazione delle funzioni TESTO.UNISCI e FILTRO offre un approccio basato su formule efficiente per cercare e concatenare tutti i valori corrispondenti. Questa soluzione è particolarmente adatta per set di dati dinamici e aggiornati, poiché aggiornerà automaticamente il risultato quando cambiano i dati di origine. È meglio applicata quando la tua versione di Excel supporta la funzione FILTRO, disponibile solo nelle versioni recenti di Office.

Nella cella di destinazione, inserisci la seguente formula, quindi trascina la formula verso il basso se desideri applicarla anche ad altre righe. Tutti i valori corrispondenti trovati verranno estratti e combinati in una sola cella. Vedi screenshot:

=TEXTJOIN(", ", TRUE, FILTER($B$2:$B$16, $A$2:$A$16=D2, ""))

vlookup and concatenate multiple values with TEXTJOIN and FILTER Functions

Spiegazione di questa formula:
  1. FILTRO($B$2:$B$16; $A$2:$A$16=D2; ""): Questa parte della formula verifica ogni valore in $A$2:$A$16; se corrisponde al valore in D2, il valore corrispondente in $B$2:$B$16 verrà incluso nell'array dei risultati.
    • $B$2:$B$16: L'intervallo da cui verranno recuperati i valori corrispondenti.
    • $A$2:$A$16=D2: La condizione in base alla quale vengono selezionati i valori — solo quelle righe in cui $A$2:$A$16 è uguale al contenuto in D2 verranno elaborate.
  2. TESTO.UNISCI(", "; VERO; ...): Questa funzione prende l'output della funzione FILTRO (un array di corrispondenze) e li concatena in una stringa di testo, separati dal delimitatore specificato (virgola e spazio), ignorando automaticamente le voci vuote.
    • ", ": Imposta virgola e spazio come separatore; puoi cambiare questo simbolo come necessario, ad esempio utilizzare punti e virgola o interruzioni di riga.
    • VERO: Assicura che le celle vuote vengano ignorate durante il processo di combinazione, fornendo così un output ben formattato.

Nota speciale: Questo metodo richiede Excel 365 o 2021 e non funziona in versioni precedenti (ad esempio Excel 2019, 2016 o precedenti). Controlla sempre la tua versione di Excel prima di applicarlo.

Suggerimento: Se il valore di ricerca (ad esempio, D2) cambia o vengono aggiunti ulteriori elementi corrispondenti all'intervallo di dati, il risultato si aggiorna automaticamente senza bisogno di ulteriori passaggi.

Potenziali limitazioni: In set di dati molto grandi, il tempo di calcolo della formula può aumentare. Inoltre, gli utenti devono assicurarsi che non ci siano celle unite negli intervalli di ricerca o risultati, poiché queste possono causare errori nella formula.


Cerca verticale e concatena più valori corrispondenti con Kutools per Excel

Se trovi complicati i metodi basati su formule incorporate o la tua versione di Excel non supporta funzioni avanzate come TESTO.UNISCI e FILTRO, Kutools per Excel offre una soluzione grafica user-friendly. La funzione Ricerca uno-a-molti in Kutools ti consente di cercare e concatenare più risultati corrispondenti con pochi semplici passaggi, rendendola adatta sia per principianti che per utenti esperti. Con Kutools, non c'è bisogno di scrivere formule o codici complessi ed è particolarmente utile quando si lavora con grandi dataset variabili che richiedono ricerche e aggregazioni ripetute.

Kutools per Excel offre oltre 300 funzionalità avanzate per semplificare compiti complessi, aumentando creatività ed efficienza. Integrato con capacità di intelligenza artificiale, Kutools automatizza le attività con precisione, rendendo la gestione dei dati senza sforzo. Informazioni dettagliate su Kutools per Excel... Prova gratuita...

Dopo aver installato Kutools per Excel, segui i passaggi seguenti:

Clicca su Kutools > Super RICERCA.VERT > Ricerca uno-a-molti (restituisci più risultati) per aprire la finestra di configurazione. All'interno di questa finestra, puoi configurare rapidamente le impostazioni di ricerca e output usando i seguenti passaggi:

  1. Seleziona le celle di output target per i risultati concatenati e le celle contenenti i valori che desideri cercare;
  2. Indica l'intervallo della tabella che contiene sia la chiave di ricerca che le colonne dei risultati;
  3. Specifica quale colonna contiene le chiavi di ricerca (Colonna Chiave) e la colonna i cui valori verranno concatenati (Colonna di Restituzione);
  4. Clicca sul pulsante OK per confermare le impostazioni ed elaborare i dati.
     specify the options in the dialog box

Risultato: Kutools ora mostrerà tutti i valori corrispondenti e concatenati nella cella di output selezionata. Vedi screenshot:
concatenated based on the criteria by kutools

Questo metodo è altamente raccomandato per coloro che preferiscono lavorare direttamente dall'interfaccia di Excel senza formule o codici complessi. Riduce anche la probabilità di errori nella formula e migliora la produttività nel gestire attività di ricerca e concatenazione ripetitive.


Cerca verticale e concatena più valori corrispondenti con una Funzione Definita dall'Utente

Per gli utenti esperti in VBA (Visual Basic for Applications), o quelli che utilizzano versioni precedenti di Excel che mancano di supporto per array dinamici o la funzione FILTRO, è possibile creare una funzione personalizzata definita dall'utente (UDF) per ottenere una concatenazione flessibile di più risultati. Questo metodo è universalmente compatibile con tutte le versioni di Excel e può essere adattato a particolari simboli separatori o condizioni.

1. Tieni premuti i tasti ALT + F11 per aprire la finestra Microsoft Visual Basic for Applications.

2. Clicca su Inserisci > Modulo, e incolla il seguente codice nella finestra Modulo.

Codice VBA: Cerca verticale e concatena più valori corrispondenti in una cella

Function ConcatenateMatches(LookupValue As String, LookupRange As Range, ReturnRange As Range, Optional Delimiter As String = ", ") As String
'Updateby Extendoffice
    Dim Cell As Range
    Dim Result As String
    Result = ""
    For Each Cell In LookupRange
        If Cell.Value = LookupValue Then
            Result = Result & Cell.Offset(0, ReturnRange.Column - LookupRange.Column).Value & Delimiter
        End If
    Next Cell
    If Result <> "" Then
        Result = Left(Result, Len(Result) - Len(Delimiter))
    End If
    ConcatenateMatches = Result
End Function

3. Salva e chiudi l'editor VBA. Ritorna al tuo foglio di lavoro e usa questa UDF inserendo la formula: =ConcatenateMatches(D2, $A$2:$A$16, $B$2:$B$16) in una cella vuota dove desideri ottenere il risultato. Trascina la maniglia di riempimento verso il basso per copiare la formula in altre celle se necessario. Tutti i valori corrispondenti basati su un valore di ricerca specifico verranno restituiti e concatenati in una cella, separati da una virgola e uno spazio. Vedi screenshot:

concatenated based on the criteria by vba

Spiegazione di questa formula:
  • D2: Il valore di ricerca da abbinare all'interno del tuo dataset (LookupValue).
  • A2:A16: L'intervallo in cui la funzione cerca il valore di ricerca (LookupRange).
  • B2:B16: L'intervallo contenente i valori da concatenare quando il valore di ricerca corrisponde (ReturnRange).

Cerca verticale e concatena più valori corrispondenti con il codice VBA

Per scenari che richiedono un uso ripetuto o per coloro che desiderano evitare funzioni personalizzate nelle celle del foglio di lavoro, è possibile utilizzare una macro VBA pronta per concatenare direttamente i risultati. Questo metodo funziona bene in ambienti condivisi dove non tutti gli utenti potrebbero avere la stessa versione o componenti aggiuntivi.

1. Clicca su Strumenti di Sviluppo > Visual Basic per aprire l'editor VBA.

2. Nella finestra VBA, clicca su Inserisci > Modulo, quindi incolla questo codice nel modulo:

Sub VLookupAndConcatenate()
    Dim ws As Worksheet
    Dim dataRange As Range, lookupRange As Range, resultRange As Range
    Dim dict As Object
    Dim i As Long, lastRow As Long
    Dim lookupValue As Variant, result As String
    Dim delimiter As String
    delimiter = ", "
    Set dict = CreateObject("Scripting.Dictionary")
    Set ws = ActiveSheet
    On Error Resume Next
    Set dataRange = Application.InputBox( _
        Prompt:="Please select the data range (contains lookup column and result column)", _
        Title:="Select Data Range", _
        Type:=8)
    On Error GoTo 0
    If dataRange Is Nothing Then Exit Sub
    On Error Resume Next
    Set lookupRange = Application.InputBox( _
        Prompt:="Please select the lookup range (single column)", _
        Title:="Select Lookup Range", _
        Type:=8)
    On Error GoTo 0
    If lookupRange Is Nothing Then Exit Sub
    On Error Resume Next
    Set resultRange = Application.InputBox( _
        Prompt:="Please select the starting cell for results output", _
        Title:="Select Output Location", _
        Type:=8)
    On Error GoTo 0
    If resultRange Is Nothing Then Exit Sub
    resultRange.Resize(lookupRange.Rows.Count, 1).ClearContents
    For i = 1 To dataRange.Rows.Count
        lookupValue = dataRange.Cells(i, 1).Value
        If Not dict.Exists(lookupValue) Then
            dict.Add lookupValue, dataRange.Cells(i, 2).Value
        Else
            dict(lookupValue) = dict(lookupValue) & delimiter & dataRange.Cells(i, 2).Value
        End If
    Next i
    For i = 1 To lookupRange.Rows.Count
        lookupValue = lookupRange.Cells(i, 1).Value
        If dict.Exists(lookupValue) Then
            resultRange.Cells(i, 1).Value = dict(lookupValue)
        Else
            resultRange.Cells(i, 1).Value = "Not Found"
        End If
    Next i
    MsgBox "Operation completed! Processed " & lookupRange.Rows.Count & " lookup values.", vbInformation
End Sub

3. Clicca il Run button pulsante per eseguire la macro. Le caselle di input ti chiederanno di selezionare l'intervallo di dati, l'intervallo di ricerca e l'intervallo di risultati. Il risultato concatenato viene quindi visualizzato direttamente nelle celle di output selezionate.

Questo approccio con la macro è particolarmente utile se esegui frequentemente ricerche con concatenazione multipla con valori diversi, poiché evita di intasare il foglio di lavoro con chiamate UDF.

Puoi facilmente regolare il delimitatore nel codice se necessario, ed estendere la macro per inviare i risultati a una cella o un file in base al tuo flusso di lavoro.

La concatenazione di più valori corrispondenti in Excel è possibile utilizzando vari approcci, ognuno con benefici specifici a seconda della tua situazione. Che tu scelga formule con array dinamici, add-in come Kutools per Excel o metodi basati su VBA, migliorerai la tua capacità di analizzare e visualizzare i dati raggruppati in modo efficiente. A seconda della dimensione e della complessità del tuo dataset, considera quale approccio offre prestazioni ottimali e facilità di manutenzione per te o il tuo team. Nelle operazioni quotidiane, controlla la consistenza dei dati, evita celle unite e verifica gli intervalli di riferimento per ottenere i migliori risultati. Se incontri errori nei calcoli delle formule, ricontrolla che i tuoi intervalli corrispondano ai dati e che utilizzi il metodo di immissione corretto per la tua versione di Excel.

Per tecniche avanzate di Excel e una vasta gamma di guide pratiche, visita la nostra estesa libreria di tutorial.

I migliori strumenti per la produttività in Office

🤖 Kutools AI Aide: Rivoluziona l’analisi dei dati grazie a: Esecuzione intelligente | Genera codice | Crea formule personalizzate | Analizza dati e genera grafici | Richiama Funzioni avanzate
Funzionalità popolari: Trova, evidenzia o identifica duplicati | Elimina righe vuote | Combina colonne o celle senza perdere dati | Arrotonda
Super RICERCA.VERT: Ricerca con criteri multipli    Ricerca valori multipli  |   Ricerca su più fogli   |   Corrispondenza approssimativa ....
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa | Elenco a discesa dipendente | Elenco a discesa a selezione multipla….
Gestione colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Cambia lo stato di visibilità delle colonne nascoste | Confronta intervalli e colonne...
Funzionalità in evidenza: Attenzione della griglia | Visualizzazione di progettazione | Barra delle formule avanzata | Gestione Cartella di lavoro & Foglio di lavoro | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email da elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...)...
I15 migliori kit di strumenti:12 strumenti di testo (Aggiungi testo, Elimina Caratteri Specifici, ...) | Oltre50 tipi di grafici (Diagramma di Gantt, ...) | Oltre40 formule utili (Calcola l'età in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci immagine dal percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti per unire & dividere (Unione avanzata righe, Dividi celle, ...) | ...e altro ancora
Usa Kutools nella lingua che preferisci – supporta Inglese, Spagnolo, Tedesco, Francese, Cinese e oltre40 altre!

Migliora le tue competenze su Excel con Kutools per Excel e sperimenta un nuovo livello di efficienza. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...


Office Tab porta l’interfaccia a schede su Office, rendendo il tuo lavoro molto più semplice

  • Abilita la modifica a schede e la lettura in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, invece che in nuove finestre.
  • Aumenta la tua produttività del50% e ti fa risparmiare centinaia di clic ogni giorno!