Come trovare più valori in Excel (8 metodi rapidi)

  • Condividi Questo
Hugh West

In questo articolo, discuteremo di come trovare valori multipli in Excel. Spesso, quando si lavora con i fogli di calcolo, trovare più valori contemporaneamente può essere di grande aiuto. Ad esempio, abbiamo un set di dati che contiene gli hobby di diverse persone. Tuttavia, in questo set di dati, una persona ( Emily Quindi, ora utilizzeremo diversi strumenti e funzioni di Excel per ottenere gli hobby multipli di Emily in una sola volta. Inoltre, mostrerò come unire più valori in una singola cella.

Scarica il quaderno di esercizi

È possibile scaricare il quaderno di esercizi che abbiamo utilizzato per preparare questo articolo.

Trova valori multipli.xlsm

8 metodi per trovare più valori in Excel

1. Utilizzare lo strumento Trova e sostituisci per ottenere più valori in Excel

È possibile ottenere più valori in modo molto semplice utilizzando il metodo Trova della funzione Trova e sostituisci strumento di MS Excel Nel nostro set di dati, il nome Emily viene menzionato 3 Quindi, seguite i passi sotto indicati per trovare questi tempi. 3 valori in una sola volta.

Passi:

  • Per prima cosa, selezionare il set di dati ( B4:C11 ).

  • Successivamente, premere Ctrl + F per visualizzare il Trova e sostituisci o andare su Casa > Editing gruppo> Trova e seleziona > Trova .
  • Quindi, digitare ' Emily ' nel Trova cosa e fare clic sul campo Trova tutti .

  • Di conseguenza, abbiamo riscontrato 3 nomi ( Emily ) elencati nella finestra sottostante.

Per saperne di più: Come trovare il valore nell'intervallo in Excel (3 metodi)

2. Opzione Filtro di Excel per trovare più valori

Un'altra opzione semplice e veloce per ottenere valori multipli in excel è quella di utilizzare il metodo Filtro automatico Vediamo le fasi di questo metodo.

Passi:

  • Per prima cosa, fare clic con il tasto destro del mouse sulla cella a cui si desidera applicare il filtro. Ho selezionato Cellula B5 poiché ho bisogno di filtrare tutti i nomi, Emily .
  • Poi vai a Filtro > Filtrare in base al valore della cella selezionata .

  • Di conseguenza, tutte le celle contenenti il nome Emily sono filtrati come segue.

  • Se si desidera annullare il filtraggio, è sufficiente fare clic sul pulsante Filtro automatico dell'intestazione del set di dati, selezionare Azzeramento del filtro da "Nome" e fare clic su OK .

Per saperne di più: Come trovare un carattere in una stringa in Excel

3. Applicare l'opzione Filtro avanzato per restituire più valori

Excel dispone di un'opzione di filtraggio denominata Filtro avanzato Questa opzione è molto utile per trovare valori multipli. È necessario impostare un intervallo di criteri per applicare la funzione Filtro avanzato opzione. Esaminiamo le fasi di questo metodo.

Passi:

  • Per prima cosa, impostare l'intervallo di criteri ( B13:C14 ).

  • Successivamente, andare a Dati > Ordinamento e filtro > Avanzato .

  • Di conseguenza, il Filtrazione avanzata Verrà visualizzata la finestra di dialogo. A questo punto, impostare l'opzione Gamma dell'elenco ( Intervallo del set di dati ) e Gamma di criteri e fare clic su OK .

  • Finalmente abbiamo tutti gli hobby di Emily in una volta sola.

Nota

Ricordate che il Intestazione del set di dati principale e del Gamma di criteri devono essere simili, altrimenti il Filtro avanzato non funziona.

4. Restituire più valori utilizzando una tabella definita da Excel

Possiamo creare Tabelle definite da Excel e quindi applicare un filtro per ottenere più valori. È un modo molto comodo e semplice per trovare più valori.

Passi:

  • Per prima cosa, fare clic su una qualsiasi cella del set di dati ( B4:C11 ).

  • Successivamente, premere Ctrl + t dalla tastiera. Di conseguenza, il Crea tabella Verrà visualizzata la finestra di controllo. Controllare l'intervallo della tabella e fare clic su OK .

  • Di conseguenza, abbiamo la tabella seguente creata dal nostro set di dati.

  • A questo punto, fare clic sull'icona della freccia rivolta verso il basso accanto all'intestazione della tabella. Quindi, controllare il nome Emily e fare clic su OK

  • Alla fine, ecco il risultato filtrato atteso.

Letture simili:

  • Come trovare il testo in una cella in Excel
  • Ricerca di testo nell'intervallo in Excel (11 metodi rapidi)
  • Come trovare se la cella contiene un testo specifico in Excel
  • Trovare caratteri in stringhe in Excel (8 modi semplici)

5. Inserire la funzione FILTRO per trovare più valori

Questa volta utilizzeremo la funzione FILTRO per restituire i valori multipli in excel.

Passi:

  • Per prima cosa, digitare la formula seguente in Cella C14 .
=FILTER(C5:C11,B5:B11=B14)

  • Quindi, premere Entrare .
  • Di conseguenza, tutti gli hobby di Emily vengono restituiti in un colpo solo.

Nota

➤ Il FILTRO è disponibile solo per Excel 365 abbonati.

6. Ricerca di più valori con la funzione INDICE in Excel

È possibile trovare più valori utilizzando la funzione INDICE insieme ad altre funzioni di Excel. Questa formula per ottenere più valori è complessa. La formula viene inserita come una matrice. In ogni caso, spiegherò la formula qui di seguito. Prima di ciò, esaminiamo i passaggi di questo metodo.

Passi:

  • Inizialmente, digitare la seguente formula in Cella C14 .
=INDICE($B$5:$C$11,SMALL(IF($B$5:$B$11=$B$14,ROW($B$5:$B$11)),ROW(1:1))-4,2)

  • Di conseguenza, abbiamo ricevuto il seguente risultato.

  • Quindi, trascinare verso il basso il campo Maniglia di riempimento ( + ) per ottenere gli altri valori.

  • Di conseguenza, ecco l'elenco degli hobby di Emily che abbiamo ottenuto.

🔎 Come funziona la formula?

  • IF($B$5:$B$11=$B$14,ROW($B$5:$B$11))

Qui, la funzione IF restituisce un numero di riga se un intervallo di celle B5:B11 è uguale a B14 altrimenti restituisce FALSO .

  • SMALL(IF($B$5:$B$11=$B$14,ROW($B$5:$B$11)),ROW(1:1))

Ora, questa parte della formula utilizza la funzione SMALL che restituisce l'elemento ennesimo Il valore più piccolo. Questa formula restituirà i numeri: 5 , 8 , 11 .

  • INDICE($B$5:$C$11,SMALL(IF($B$5:$B$11=$B$14,RIGA($B$5:$B$11)),RIGA(1:1))-4,2)

Ora viene la parte finale della formula: sappiamo che il INDICE restituisce il valore in una determinata posizione. Un'altra cosa è che la funzione INDICE considera la prima riga della nostra tabella come riga 1. Poiché il mio set di dati inizia con la riga 5 , ho sottratto 4 dal FILO per ottenere la riga corretta dal dataset. Quindi, per l'array B5:C11 , numeri di riga 5 , 8 , 11 e la colonna n. 2 , il INDICE fornirà il risultato desiderato

📌 Nascondere gli errori generati dalla formula precedente

C'è un problema con il suddetto INDICE Quando si trascina verso il basso la formula Maniglia di riempimento ( + ), la formula restituisce un errore ( #NUM! ) dopo un certo valore. Quindi, per correggere la formula di cui sopra, utilizzeremo la formula SE e ISERRORE funzioni.

Passi:

  • Per prima cosa, digitare la formula seguente in Cella C14 .
=IF(ISERROR(INDEX($B$5:$C$11,SMALL(IF($B$5:$B$11=$B$14,ROW($B$5:$B$11)),ROW(1:1))-4,2)),"", INDEX($B$5:$C$11,SMALL(IF($B$5:$B$11=$B$14,ROW($B$5:$B$11)),ROW(1:1))-4,2))

  • Di conseguenza, otterremo un risultato privo di errori.

Qui, il ISERRORE verifica se un valore è un errore e restituisce VERO o FALSO. La formula sopra riportata, avvolta da SE e ISERRORE Le funzioni controllano se il risultato dell'array è un errore o meno e quindi restituiscono un vuoto ("") se il risultato è un errore, altrimenti restituiscono il valore corrispondente.

7. Funzione definita dall'utente per trovare più valori in Excel (VBA)

In questo metodo, verrà illustrato come utilizzare il metodo Funzione definita dall'utente per ottenere valori multipli in excel. In questo caso, utilizzeremo il metodo Funzione definita dall'utente : vbaVlookup .

Passi:

  • Innanzitutto, passare al foglio di lavoro attivo.
  • In secondo luogo, andare su Sviluppatore > Visual Basic .

  • Poi il Visual Basic Verrà visualizzata la finestra di dialogo con la voce Progetto VBA (angolo superiore sinistro della finestra).
  • In terzo luogo, fare clic con il tasto destro del mouse sul nome del progetto e andare su Inserire > Modulo .

  • Di conseguenza, si otterrà il Modulo Scrivete il codice seguente nel file Modulo .
 'Nome della funzione definita dall'utente e argomenti Function vbaVlookup(lookup_value As Range, tbl As Range, col_index_num As Integer, Optional layout As String = "v") 'Dichiarare le variabili e i tipi di dati Dim r As Single, Lrow, Lcol As Single, temp() As Variant 'Ridimensionare la variabile array temp ReDim temp(0) 'Iterare attraverso le celle nell'intervallo di celle For r = 1 To tbl.Rows.Count 'Verificare se lookup_value è uguale avalore della cella If lookup_value = tbl.Cells(r, 1) Then 'Salva il valore della cella nella variabile dell'array temp(UBound(temp)) = tbl.Cells(r, col_index_num) 'Aggiunge un altro contenitore alla variabile dell'array temp ReDim Preserve temp(UBound(temp) + 1) End If Next r 'Controlla se il layout della variabile è uguale a h If layout = "h" Then 'Salva il numero di colonne che l'utente ha inserito This User DefinedFunction in. Lcol = Range(Application.Caller.Address).Columns.Count 'Iterare ogni contenitore nella variabile dell'array temp che non sarà popolato For r = UBound(temp) To Lcol 'Salvare uno spazio vuoto nel contenitore dell'array temp(UBound(temp)) = "" 'Aumentare la dimensione della variabile dell'array temp con 1 ReDim Preserve temp(UBound(temp) + 1) Next r 'Diminuire la dimensione dell'arrayvariabile temp con 1 ReDim Preserve temp(UBound(temp) - 1) 'Restituire i valori al foglio di lavoro vbaVlookup = temp 'Queste righe saranno cancellate se la variabile layout non è uguale a h Else 'Salvare il numero di righe che l'utente ha inserito in questa funzione definita dall'utente in Lrow = Range(Application.Caller.Address).Rows.Count 'Iterare le celle vuote e non salvare nulla in esse per evitare un errorePer r = UBound(temp) To Lrow temp(UBound(temp)) = "" ReDim Preserve temp(UBound(temp) + 1) Next r 'Diminuisce la dimensione della variabile dell'array temp con 1 ReDim Preserve temp(UBound(temp) - 1) 'Restituisce la variabile temp al foglio di lavoro con i valori riorganizzati verticalmente vbaVlookup = Application.Transpose(temp) End If End Function 

  • Dopodiché, se si inizia a scrivere la funzione in Cella C14 la funzione verrà visualizzata come le altre funzioni di Excel.

  • Scrivere quindi la formula seguente in Cella C14 .
=vbaVlookup(B14,B5:B11,2)

  • Infine, qui abbiamo diversi hobby di Emily, come quelli indicati di seguito.

8. Ottenere più valori in una singola cella di Excel

Finora abbiamo ricevuto valori multipli elencati verticalmente in celle diverse. Ora, invece, mostreremo valori multipli uniti in un'unica cella. Qui utilizzeremo la funzione TEXTJOIN insieme al FILTRO per ottenere i valori multipli uniti.

Passi:

  • Per prima cosa, digitare la formula seguente in Cella C14 .
=TEXTJOIN(",",TRUE, FILTER(C5:C11, B5:B11=B14))

  • Di conseguenza, tutti gli hobby di Emily sono presentati orizzontalmente in un'unica cella.

Qui, il TESTO concatena l'elenco degli hobby usando le virgole.

Conclusione

In questo articolo ho cercato di illustrare i metodi in modo approfondito. Spero che questi metodi e le spiegazioni siano sufficienti a risolvere i vostri problemi. Fatemi sapere se avete domande.

Hugh West è un istruttore e analista di Excel di grande esperienza con oltre 10 anni di esperienza nel settore. Ha conseguito una laurea in Contabilità e Finanza e un Master in Economia Aziendale. Hugh ha una passione per l'insegnamento e ha sviluppato un approccio didattico unico che è facile da seguire e capire. La sua conoscenza approfondita di Excel ha aiutato migliaia di studenti e professionisti in tutto il mondo a migliorare le proprie competenze ed eccellere nella propria carriera. Attraverso il suo blog, Hugh condivide le sue conoscenze con il mondo, offrendo esercitazioni gratuite su Excel e formazione online per aiutare le persone e le aziende a raggiungere il loro pieno potenziale.