Come cercare un valore e ottenere tutti i valori corrispondenti in Excel?

Questo tutorial illustra come cercare un valore e restituire più valori corrispondenti in Excel, come mostrato negli screenshot seguenti:
Cerca un valore e restituisci più valori corrispondenti con una formula matriciale
Cerca un valore e restituisci più valori corrispondenti con il filtro
Cerca un valore e restituisci più valori corrispondenti con una funzione definita dall'utente
Cerca un valore e restituisci più valori corrispondenti con una formula matriciale
Ecco una potente formula matriciale che ti permette di cercare un valore e restituire tutti i risultati corrispondenti.
1. Inserisci il valore da cercare in una cella vuota. Vedi lo screenshot:

2. Nella cella adiacente, digita questa formula =SE(VAL.ERRORE(INDICE($A$1:$B$7,PIECOLINO(SE($A$1:$A$7=$D$4,RIF.RIGA($A$1:$A$7)),RIF.RIGA(1:1)),2)),«»,)
INDICE($A$1:$B$7,PIECOLINO(SE($A$1:$A$7=$D$4,RIF.RIGA($A$1:$A$7)),RIF.RIGA(1:1)),2))e premi contemporaneamente i tasti Maiusc + Ctrl + Invio, quindi trascina la maniglia di riempimento automaticoverso il basso fino alla prima cella vuota. Vedi lo screenshot:

Nota: nella formula sopra, $A$1:$B$7 indica l’intervallo dei dati, $A$1:$A$7 rappresenta la colonna in cui cerchi il valore specifico, $D$4 è la cella contenente il valore da cercare inserito al passaggio 1, mentre 2 specifica che i valori corrispondenti si trovano nella seconda colonna.
Cerca un valore e restituisci più valori corrispondenti con il filtro
In Excel puoi anche sfruttare la funzionalità Filtro per risolvere questo problema.
1. Seleziona l'intervallo di colonne in cui desideri cercare il valore e fai clic su Dati > Filtro. Vedi lo screenshot:

2. Fai quindi clic sulla freccia nella prima cella della colonna Seleziona intervallo e scegli esclusivamente il valore che desideri cercare dall’elenco a discesa. Vedi lo screenshot:

3. Fai clic su OK; ora vedrai solo il valore cercato e i relativi valori corrispondenti filtrati.

Cerca un valore e restituisci più valori corrispondenti con una funzione definita dall'utente
Se sei interessato alle funzioni definite dall'utente, puoi risolvere il problema anche con una funzione personalizzata.
1. Premi i tasti Alt + F11 per aprire la finestra di Microsoft Visual Basic, Applications.
2. Fai clic su Modulo > Inserisci per aggiungere una finestra di Modulo e copia il seguente codice VBA al suo interno.
VBA: cerca un valore e restituisci tutti i valori corrispondenti.
Function MyVlookup(pWorkRng As Range, pRng As Range, pColumnIndex As Integer, Optional pType As String = "v")
'Updateby20140827
Dim xRow As Single
Dim xCol As Single
Dim arr() As Variant
ReDim arr(0)
For i = 1 To pRng.Rows.Count
If pWorkRng = pRng.Cells(i, 1) Then
arr(UBound(arr)) = pRng.Cells(i, pColumnIndex)
ReDim Preserve arr(UBound(arr) + 1)
End If
Next
If pType = "h" Then
xCol = Range(Application.Caller.Address).Columns.Count
For i = UBound(arr) To xCol
arr(UBound(arr)) = ""
ReDim Preserve arr(UBound(arr) + 1)
Next
ReDim Preserve arr(UBound(arr) - 1)
MyVlookup = arr
Else
xRow = Range(Application.Caller.Address).Rows.Count
For i = UBound(arr) To xRow
arr(UBound(arr)) = ""
ReDim Preserve arr(UBound(arr) + 1)
Next
ReDim Preserve arr(UBound(arr) - 1)
MyVlookup = Application.WorksheetFunction.Transpose(arr)
End If
End Function
3. Chiudi questa finestra e digita la seguente formula in una cella:=MyVlookup(A10,$A$2:$B$7,2) (dove A10 indica il valore da cercare, $A$2:$B$7 rappresenta l’intervallo dati e 2 è il numero della colonna da restituire). Premi quindi Maiusc + Ctrl + Invio. Trascina in seguito la maniglia di riempimento verso il basso, posiziona il cursore nella Barra delle formule e premi nuovamente Maiusc + Ctrl + Invio.
Suggerimento: se desideri restituire i valori in celle orizzontali, digita questa formula =MyVlookup(A10, $A$2:$B$7, 2, «h»).
Migliori Strumenti per la Produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- 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 all’interno della stessa finestra, invece che in finestre separate.
- Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!
Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.
Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.
- Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
- Funziona meglio insieme— produttività ottimizzata tra le app di Office
- Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
- Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi