Sommario
Quando si lavora con un gran numero di dati si producono risultati multipli. In Excel esiste un modo molto comodo per estrarre risultati multipli. In questo articolo vi mostreremo come utilizzare l'opzione ACCOPPIAMENTO DEGLI INDICI formula in Excel per generare più risultati.
Scarica il modello di pratica
È possibile scaricare il modello Excel di esercitazione gratuito da qui ed esercitarsi da soli.
MATCH INDICE Risultati multipli.xlsx4 modi utili per implementare le funzioni INDEX & MATCH insieme in Excel per estrarre più risultati
In questa sezione si discuterà in dettaglio l'utilizzo di la funzione INDICE e la funzione MATCH in Excel per ottenere più risultati.
1. Trovare più risultati in una matrice utilizzando la formula INDEX MATCH in Excel
Consideriamo il seguente set di dati, in cui vogliamo trovare i diversi voti degli studenti di diversi esami.
Si può ottenere eseguendo un'operazione di ACCOPPIAMENTO DEGLI INDICI nel nostro foglio di lavoro.
Passi per trovare i risultati multipli in un insieme di una matrice utilizzando ACCOPPIAMENTO DEGLI INDICI sono riportate di seguito.
Passi:
- Scegliere un nome dal set di dati ( B5:B11 ) e inserire il nome in un'altra cella per utilizzare in seguito il numero di riferimento della cella (ad esempio, nome Villiers in Cellula G4 ).
- In un'altra cella che si desidera utilizzare come cella di risultato (ad es. Cellula G7 ), scrivere la seguente formula,
=INDICE($C$5:$C$11,SMALL(IF(ISNUMBER(MATCH($B$5:$B$11,$G$4,0)),MATCH(ROW($B$5:$B$11),ROW($B$5:$B$11)),"), ROWS($A$1:A1))
Qui,
$C$5:$C$11 = l'array per cercare il valore di ricerca
$B$5:$B$11 = l'array in cui si trova il valore di ricerca
- Stampa Entrare .
Si noterà che il risultato dei dati (ad es. Villiers ) che si inserisce nella cella selezionata ( G4 ), apparirà nella cella del risultato (ad es. 65 in G7 ).
- Ora trascinate la riga verso il basso di Maniglia di riempimento per ottenere il resto dei risultati dello stesso valore di ricerca.
Poiché questo processo non è costante per nessun valore specifico, è possibile scegliere qualsiasi dato di ricerca nella cella selezionata (ad es. G4 ) e il risultato per quel particolare dato verrà aggiornato automaticamente nella cella del risultato (ad es. G7 ).
Per saperne di più, vedere la gif qui sotto.
Ripartizione della formula:
Scomponiamo la formula per capire come abbiamo ottenuto il risultato.
- MATCH($B$5:$B$11, $G$4, 0) diventa,
- MATCH({"Flintoff"; "Ronaldo"; "Plessis"; "Villiers"; "Beckham"; "Villiers"; "Plessis"}, "Villiers", 0)
- Uscita: {#N/A; #N/A; #N/A; 1; #N/A; 1; #N/A}
Spiegazione: Se il valore di ricerca trova una corrispondenza nell'array di ricerca, il parametro PARTITA La funzione restituisce 1 altrimenti restituisce #N/A .
- ISNUMBER(MATCH($B$5:$B$11, $G$4, 0) diventa,
- ISNUMBER({#N/A; #N/A; #N/A; 1; #N/A; 1; #N/A})
- Uscita: {FALSO; FALSO; FALSO; VERO; FALSO; VERO; FALSO}.
Spiegazione: Come la funzione IF non è in grado di gestire i valori di errore, quindi la funzione ISNUMBER viene utilizzato per convertire i valori dell'array in valori booleani.
- IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), "") diventa,
- IF({FALSE; FALSE; FALSE; TRUE; FALSE; TRUE; FALSE}, MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), "")
diventa
- IF({FALSE; FALSE; FALSE; TRUE; FALSE; TRUE; FALSE}, {1; 2; 3; 4; 5; 6; 7}, "")
- Uscita: {""; ""; ""; 4; ""; 6}
Spiegazione: In primo luogo, il SE La funzione converte i valori booleani in numeri di riga e spazi vuoti. Successivamente, la funzione PARTITA e la funzione ROW calcola un array con numeri consecutivi, da 1 a n, dove n è l'ultima identità numerica della dimensione totale dell'intervallo di celle. Come $B$5:$B$11 ha 7 valori, quindi l'array diventa {1; 2; 3; 4; 5; 6; 7} .
- SMALL(IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)), MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), ""), ROWS($A$1:A1))) diventa
- SMALL({""; ""; ""; 4; ""; 6}, ROWS($A$1:A1))
- SMALL({""; ""; ""; 4; ""; 6}, 1)
- Uscita: 4
Spiegazione: Primo, la funzione SMALL determina quale valore ottenere in base al numero di riga. Successivamente, il metodo Righe La funzione restituisce un numero che cambia ogni volta che la cella viene copiata e incollata nelle celle sottostanti. Inizialmente restituiva 4 in base al nostro set di dati. Nella cella successiva, RIGHE($A$1:A1) modifiche a RIGHE($A$1:A2) e restituisce 6 .
- INDICE($C$5:$C$11, SMALL [IF(ISNUMBER(MATCH($B$5:$B$11, $G$4, 0)], MATCH(ROW($B$5:$B$11), ROW($B$5:$B$11)), ""), ROWS($A$1:A1)) diventa
- INDICE($C$5:$C$11, 4)
- Uscita: 65
Spiegazione: Il INDICE restituisce un valore da una determinata matrice in base a un numero di riga e di colonna. La funzione 4a nell'array $C$5:$C$11 è 65 , quindi il INDICE La funzione restituisce 65 in cella G7 .
Per saperne di più: IF con INDEX-MATCH in Excel (3 approcci adatti)
2. Trovare i risultati multipli del nome e della data di un evento imminente con la formula INDEX MATCH in Excel
A volte ci si dimentica della data di eventi importanti: in questo caso, il PARTITA INDICE le funzioni di soccorso.
Di seguito sono riportati i dati di esempio in cui volevamo conoscere il compleanno imminente dei nostri amici.
Quindi, quello che abbiamo fatto è stato implementare un PARTITA INDICE formula per scoprire chi è il prossimo compleanno e quando è.
Quindi, la formula per conoscere il nome della persona o dell'evento imminente è,
=INDICE($B$5:$B$9,MATCH(F5,$C$5:$C$9,1)+1)
E la formula per conoscere la data dell'evento imminente è,
=INDICE($C$5:$C$9,MATCH(F5,$C$5:$C$9,1)+1)
Ripartizione della formula:
Scomponiamo la formula per capire come abbiamo scoperto il nome Alex e la data del suo compleanno.
- MATCH(F5,$C$5:$C$9,1)
- Uscita: 4
Spiegazione: Il PARTITA La funzione trova la posizione del valore di ricerca ( Cella F5 = Giovedì 11 novembre 2021 ) nella costante dell'array ( $C$5:$C$9 = l'elenco delle date ).
In questo esempio, non volevamo una corrispondenza esatta, ma la PARTITA per restituire una corrispondenza approssimativa, quindi impostiamo il terzo parametro su 1 (o VERO ).
- INDICE($B$5:$B$9,MATCH(F5,$C$5:$C$9,1)+1) diventa
- INDICE($B$5:$B$9, 4) +1)
- Uscita: Alex /(Il nome dell'evento)
Spiegazione: Il INDICE La funzione richiede due argomenti per restituire un valore specifico in un intervallo monodimensionale. In questo caso, l'intervallo $B$5:$B$9 è prima l'argomento e il risultato che abbiamo avuto dal calcolo nella sezione precedente (MATCH(F5,$C$5:$C$9,1)) , posizione 4 è il secondo argomento. Ciò significa che stiamo cercando il valore che si trova nella posizione 4 nel $B$5:$B$9 gamma.
E,
- INDICE($C$5:$C$9,MATCH(F5,$C$5:$C$9,1)+1) diventa
- INDICE($B$5:$B$9, 4) +1)
- Uscita: martedì 7 dicembre 2021
Spiegazione: Il INDICE La funzione richiede due argomenti per restituire un valore specifico in un intervallo monodimensionale. In questo caso, l'intervallo $C$5:$C$9 è prima l'argomento e il risultato che abbiamo avuto dal calcolo nella sezione precedente (MATCH(F5,$C$5:$C$9,1)) , posizione 4 è il secondo argomento. Ciò significa che stiamo cercando il valore che si trova nella posizione 4 nel $C$5:$C$9 gamma.
Per ottenere la data dell'evento imminente, è sufficiente aggiungere un valore alla posizione della cella restituita dal metodo PARTITA e ci ha fornito la posizione della cella della data dell'evento successivo.
Per saperne di più: Formula di Excel INDEX-MATCH per restituire più valori in orizzontale
Letture simili
- MATCH INDICE Criteri multipli con caratteri jolly in Excel (Guida completa)
- [INDEX MATCH non restituisce il valore corretto in Excel (5 motivi)
- Come usare INDEX MATCH invece di VLOOKUP in Excel (3 modi)
- INDEX+MATCH con valori duplicati in Excel (3 metodi rapidi)
- Come selezionare dati specifici in Excel (6 metodi)
3. Generare risultati multipli in colonne separate usando la formula INDEX MATCH in Excel
Finora abbiamo ottenuto i risultati per riga, ma se si volesse ottenere i risultati in colonne separate .
Consideriamo il seguente set di dati, composto da tre tipi di professioni che rappresentano più nomi di persone.
Volevamo creare un gruppo di persone in base alla professione e volevamo inserire i nomi in colonna secondo la loro professione.
Per estrarre i risultati di più corrispondenze in celle separate in colonne separate, si può fare un piccolo trucco con il comando INDICE funzione.
Scopriamo come estrarre i risultati di più corrispondenze in più colonne in Excel con una combinazione di INDICE funzioni e altre.
Passi:
- Scegliere una professione dall'intervallo di dati ( B5:B11 ) e inserire i dati in un'altra cella per utilizzare successivamente il numero di riferimento della cella (ad esempio, professione Grillo in Cellula E5 ).
- In un'altra cella che si desidera utilizzare come cella di risultato (ad es. Cella F5 ), scrivere la seguente formula,
=IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,ROW(C5:C11)-MIN(ROW(C5:C11))+1)),COLUMNS($E$5:E5)),")
Qui,
$C$5:$C$11 = l'array per cercare il valore di ricerca
$B$5:$B$11 = l'array in cui si trova il valore di ricerca
- Stampa Entrare .
Si noterà che il risultato dei dati (ad es. Grillisti ) che si inserisce nella cella selezionata ( E5 ), apparirà nella cella del risultato (ad es. Flintoff in Cella F5 ).
- Ora trascinate la riga intorno a Maniglia di riempimento per ottenere il resto dei risultati dello stesso valore di ricerca in colonne multiple separate.
- Anche in questo caso, trascinare la riga per Maniglia di riempimento per ottenere il resto dei risultati di diversi valori di ricerca (ad es. Calciatore, Lottatore ) in colonne multiple separate.
Ripartizione della formula:
Scomponiamo la formula per capire come abbiamo ottenuto il risultato.
- SMALL(IF($B$5:$B$11=$E5,RIGA($C$5:$C$11)-MIN(RIGA($C$5:$C$11))+1),COLONNE($E$5:E5))
Dalla discussione precedente sappiamo già come PICCOLO, SE e FILO lavorano insieme, e anche qui usiamo questo trucco per generare un numero di riga corrispondente a una corrispondenza N-esima. Una volta ottenuto il numero di riga, lo passiamo semplicemente alla funzione INDICE che restituisce il valore di quella riga.
- Uscita: ( come l'immagine qui sotto )
- INDICE($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,RIGA($C$5:$C$11)-MIN(RIGA($C$5:$C$11))+1)),COLONNE($E$5:E5))) -passando i numeri delle righe al metodo INDICE per estrarre il valore dei numeri di riga corrispondenti.
- Uscita: ( come l'immagine qui sotto )
- IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=$E5,ROW(C5:C11)-MIN(ROW(C5:C11))+1)),COLUMNS($E$5:E5)),") -Si noti che quando le colonne restituiscono un valore che non esiste, viene lanciato un messaggio di errore #NUM Per evitare l'errore, avvolgiamo l'intera formula con la funzione IFERROR per catturare gli errori e impostare un valore stringa vuota ("") come ritorno.
- Uscita: ( come l'immagine qui sotto )
Per saperne di più: MATCH INDEX di Excel per restituire più valori in una cella
4. Estrarre più risultati in righe separate utilizzando le funzioni INDEX MATCH in Excel
Se vi state chiedendo di estrarre più risultati in più righe nello stesso modo in cui abbiamo fatto nella sezione precedente, la formula è la seguente,
=IFERROR(INDEX($C$5:$C$11,SMALL(IF($B$5:$B$11=E$4,ROW(C5:C11)-MIN(ROW(C5:C11))+1)),ROWS($E$5:E5)),")
Tutti gli altri dettagli, come le fasi e la suddivisione della formula, sono identici a quelli della sezione 3.
Punti chiave da tenere a mente
- Poiché l'intervallo dell'array di tabelle di dati in cui cercare il valore è fisso, non dimenticate di inserire l'attributo dollaro ($) davanti al numero di riferimento della cella della tabella delle matrici.
- Quando si lavora con i valori di una matrice, non dimenticate di premere il tasto Ctrl + Shift + Invio sulla tastiera durante l'estrazione dei risultati. Premendo soltanto Entrare funzionerà solo se si utilizza Microsoft 365 .
- Dopo aver premuto Ctrl + Shift + Invio si noterà che la barra della formula ha racchiuso la formula in parentesi graffe {} , dichiarandola come formula di un array. Non digitate quelle parentesi {} Excel lo fa automaticamente per voi.
Conclusione
Questo articolo spiega in dettaglio come utilizzare PARTITA INDICE per estrarre più risultati in Excel. Spero che questo articolo vi sia stato utile e non esitate a chiedere se avete domande sull'argomento.