Abbiamo un elenco di ordini con numeri e nomi delle merci. Vorrei, ad esempio, estrarre dalla tabella per numero d'ordine tutta la merce in essa contenuta. Più o meno così:
Caratteristica meravigliosa CERCA.VERT (CERCA.VERT) in una situazione del genere aiuterà solo in parte, perché è in grado di estrarre i dati solo dalla prima corrispondenza trovata, ovvero ci darà solo Mele. Per trovare ed estrarre tutti gli elementi dalla tabella, è meglio utilizzare una formula di matrice. Come questo:
=INDICE($B$2:$B$16;MENO(IF($ E $ 2=LA2: LA16;LINE(SI2: SI16)-1;»»);LINE()-5))
Deve essere inserito come segue:
- seleziona le celle in cui devono essere visualizzati i risultati (nel nostro esempio, questo è l'intervallo D6:D20)
- inserisci (copia la formula nella prima cella) dell'intervallo
- stampa Ctrl + Shift + entrare
Sottrazione di unità in frammento STRINGA(B2:B16)-1 è fatto a causa dell'intestazione della tabella. Per lo stesso motivo, per compensare lo spostamento dell'intervallo risultante rispetto a quello originale, viene sottratto il numero cinque nel frammento STRINGA()-5
Per nascondere il #NUM! errore che apparirà nelle celle vuote nell'intervallo risultante D6:D20, puoi utilizzare le funzioni di controllo degli errori IF ed EOSH, sostituendo la nostra formula con una leggermente più complessa:
=SE(EOSH(ИНДЕКС($B$2:$B$16;НАИМЕНЬШИЙ(ЕСЛИ($E$2=A2:A16;СТРОКА(B2:B16)-1;»»);СТРОКА()-5)));»»;ИНДЕКС($B$2:$B$16;НАИМЕНЬШИЙ(ЕСЛИ($E$2=A2:A16;СТРОКА(B2:B16)-1;»»);СТРОКА()-5)))
In Excel 2007 è apparsa una funzione IFERROR più conveniente che consente di risolvere il problema in modo più compatto:
=SEERRORE(ИНДЕКС($B$2:$B$16;НАИМЕНЬШИЙ(ЕСЛИ($E$2=A2:A16;СТРОКА(B2:B16)-1;»»);СТРОКА()-5));»»)
PS
Nella versione inglese di Excel, queste funzioni saranno simili a questa:
=INDEX($B$2:$B$16,SMALL(IF($E$2=A2:A16,ROW(B2:B16)-1,»»),ROW()-5))
=IF(ISERR(INDEX($B$2:$B$16,SMALL(IF($E$2=A2:A16,ROW(B2:B16)-1,»»),ROW()-5))),»»,INDEX($B$2:$B$16,SMALL(IF($E$2=A2:A16,ROW(B2:B16)-1,»»),ROW()-5)))
=IFERROR(INDEX($B$2:$B$16,SMALL(IF($E$2=A2:A16,ROW(B2:B16)-1,»»),ROW()-5)),»»)
- Utilizzo della funzione VLOOKUP per trovare i dati in una tabella
- Una versione migliorata della funzione VLOOKUP2 che può cercare in qualsiasi colonna e non solo nel primo valore
- Funzioni VLOOKUP2 e VLOOKUP3 dal componente aggiuntivo PLEX
- Cosa sono le formule di matrice e a cosa servono?