VLOOKUP di Excel per trovare l'ultimo valore in una colonna (con alternative)

  • Condividi Questo
Hugh West

VLOOKUP è una funzione molto popolare in Excel che si riferisce alla ricerca verticale. Possiamo usare la funzione integrata VLOOKUP oppure possiamo creare delle formule personalizzate che funzionino come lookup verticali per restituire valori con criteri più dinamici. In questo articolo, mostrerò come trovare l'ultimo valore in una colonna con VLOOKUP in Excel.

Scarica il libro di pratica

Scaricate la cartella di lavoro Excel che abbiamo utilizzato per preparare questo articolo.

VLOOKUP Ultimo valore nella colonna.xlsx

Uso della funzione VLOOKUP per trovare l'ultimo valore in una colonna

Per prima cosa, introduciamo la nostra cartella di lavoro. In questo foglio di dati, ho utilizzato 3 colonne e 10 file per presentare gli importi delle vendite di alcuni venditori in base alle date corrispondenti.

In questo metodo, troveremo l'ultima occorrenza di un valore usando la funzione VLOOKUP . VLOOKUP sta per ' Ricerca verticale Si tratta di una funzione che permette a Excel di cercare un determinato valore in una colonna. Qui abbiamo 3 diversi importi di vendita di Bill. Ora troveremo l'importo delle sue ultime vendite in Cellula G5

Passi :

Attivare Cellula G5, digitare la formula riportata di seguito:

=VLOOKUP(F5,C5:D13,2)

➦ Colpire il Entrare e si otterrà l'ultimo evento delle sue vendite.

Ma VLOOKUP non darà la risposta giusta per i dati non ordinati in modalità approssimativa. Vedere l'immagine seguente.

E se utilizziamo il corrispondenza esatta per il quarto argomento mostrerà la prima corrispondenza, come nell'immagine qui sotto. Poiché vlookup utilizza la ricerca binaria, quando trova un valore più grande del valore di ricerca torna al valore precedente da mostrare, come nell'immagine qui sotto.

Per ovviare a questa situazione per i dati non ordinati e trovare l'ultima occorrenza, dovremo usare funzioni di ricerca o altre formule combinate. Discuteremo questi metodi nelle sezioni seguenti.

Alternative alla funzione VLOOKUP per trovare l'ultimo valore nella colonna

Ora applicheremo quattro metodi alternativi per trovare l'ultimo valore di una colonna.

Metodo 1: utilizzare la funzione LOOKUP per trovare l'ultimo valore nella colonna

Qui troveremo l'ultimo valore di una colonna con la funzione LOOKUP in Excel. GUARDA si usa per cercare in una singola colonna o riga un particolare valore dallo stesso posto in una seconda colonna o riga. Troverò l'ultimo importo delle vendite qui in Cellula G4.

Passi:

Attivare Cellula G4.

➦ Digitare la formula riportata di seguito:

=LOOKUP(2,1/(D:D""),D:D)

➦ Quindi premere il tasto Entrare e si otterrà l'ultimo valore.

👉 Ripartizione della formula:

D:D""

Qui viene controllato se le celle in Colonna D sono vuoti o meno. Restituirà come-

{FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;TRUE;FALSE.....}

1/(D:D"")

Abbiamo diviso 1 dal risultato. Poiché FALSO significa 0 e VERO significa 1 quindi il risultato sarà il seguente:

{#DIV/0!;#DIV/0!;#DIV/0!;1;1;1;1;1;1;1;#DIV/0!;#DIV/0!}

LOOKUP(2,1/(D:D""),D:D)

Ho impostato il valore di lookup 2 perché la funzione di lookup troverà 2 attraverso la colonna, quando raggiungerà l'errore tornerà al valore più vicino 1 e mostrerà quel risultato. Questo restituirà as-

367

Metodo 2: utilizzare le funzioni INDEX e MATCH per trovare l'ultimo valore nella colonna

In questo caso si utilizzerà la combinazione degli elementi INDICE e PARTITA funzioni. La funzione INDICE restituisce un valore o il riferimento a un valore all'interno di una tabella o di un intervallo. E la funzione MATCH viene utilizzato per cercare un elemento specificato in un intervallo e restituisce la posizione relativa di tale elemento nell'intervallo.

Passi:

➦ Digitare la formula riportata di seguito in Cellula G5

=INDICE(D5:D13,MATCH(F5,C5:C13,1))

Colpire Entrare pulsante.

👉 Come funziona la formula:

MATCH(F5,C5:C13,1)

Qui la funzione MATCH viene utilizzato per trovare il valore di Cella F5 per gli elementi ordinati in ordine crescente dall'array C5:C13. L'impostazione del terzo argomento '1' indica la corrispondenza approssimativa. Ora la funzione restituirà come-

6

In realtà mostra il numero di riga contato a partire dalla prima voce.

INDICE(D5:D13,MATCH(F5,C5:C13,1))

E la funzione INDICE darà le vendite corrispondenti ( D5:D13) in base alla corrispondenza precedente dell'array ( C5:C13) che restituirà come

367

Questa è in realtà l'ultima occorrenza per Cella F5

Metodo 3: combinazione delle funzioni INDEX, MAX, SUMPRODUCT e ROW per trovare l'ultimo valore nella colonna

Ora eseguiamo l'operazione con la combinazione di INDEX, MAX, SUMPRODUCT e ROW funzioni. La funzione ROW troverà i numeri di riga. SUMPRODOTTO è una funzione che moltiplica un intervallo di celle o array e restituisce la somma dei prodotti. La funzione MAX troverà il numero massimo. E la funzione INDICE restituisce un valore o il riferimento a un valore all'interno di una tabella o di un intervallo.

Passi:

➦ Abilita la modifica in Cella F7

➦ Copiare e incollare la formula riportata di seguito:

=INDICE($C$5:$C$13,SUMPRODUCT(MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))-4))

➦ e premere il tasto Entrare pulsante.

👉 Come funziona la formula:

RIGA($B$5:$B$13)

La funzione ROW mostrerà il numero di riga dell'array che verrà restituito come-.

{5;6;7;8;9;10;11;12;13}

($E$7=$B$5:$B$13)

Qui Cellula E7 è il nostro valore di ricerca e questa formula lo confronta con l'array B5:B13 Poi tornerà come...

{FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE}

RIGA($B$5:$B$13)*($E$7=$B$5:$B$13)

È la moltiplicazione delle due formule precedenti che moltiplica effettivamente i numeri di riga corrispondenti. FALSO mezzi 0 e VERO mezzi 1 Quindi, dopo la moltiplicazione, restituirà as-

{0;0;0;0;9;0;0;0;13}

MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))

Il MAX troverà il valore massimo del risultato precedente che verrà restituito come

13

SUMPRODUCT(MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))-4)

Ora il SUMPRODOTTO viene utilizzata per trovare il numero di riga nell'array . Poiché il nostro elenco parte dal dalla fila in poi, 4 Quindi la posizione dell'ultima occorrenza di Bill è 9 nella nostra lista, in modo che la formula restituisca as-

9 .

INDICE($C$5:$C$13,SUMPRODUCT(MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))-4))

L'INDICE viene utilizzata per trovare le vendite per l'ultimo nome abbinato e restituirà come

563

Questa è la nostra ultima ricorrenza per Bill.

Metodo 4: Usare Excel VBA per trovare l'ultima occorrenza di un valore in una colonna

Se vi piace codificare in Excel, questo metodo è adatto a voi. Possiamo eseguire l'operazione precedente anche con il metodo VBA. Vediamo di seguito come farlo facilmente.

Per questo, all'inizio, creerò una barra a discesa per i nomi univoci. Poi creerò una nuova funzione definita dall'utente " Ricerca ultimo articolo " utilizzando VBA che useremo per trovare l'ultima occorrenza.

Fase 1:

➦ Per prima cosa, copiate i nomi unici dal foglio principale a un nuovo foglio.

Fase 2:

Quindi passare al foglio principale. Attivare una nuova cella. Io ho scelto E5.

➦ Fare clic Dati> Strumenti per i dati> Convalida dei dati.

A finestra di dialogo apparirà.

Fase 3:

Selezionare Elenco dal Consentire bar.

➦ Quindi premere il tasto aperto dall'icona Fonte bar.

Passo 4:

Dopo di che andate nel nuovo foglio e selezionate i nomi univoci.

Stampa OK

Vedere un freccia verso il basso Il segno "S" viene visualizzato sul lato destro della cella. Facendo clic su questo punto è possibile selezionare qualsiasi nome, risparmiando così tempo perché non sarà necessario digitare i nomi ogni volta.

Ora creeremo una nuova funzione chiamata Ricerca ultimo articolo con Excel VBA.

Passo 5:

➦ R clic destro il mouse sul nome del foglio.

Selezionare Visualizza il codice dal menu contestuale .

A VBA si aprirà una finestra.

Passo 6:

➦ Digitare i codici indicati di seguito:

 Option Explicit Sub vlookup_last() End Sub Function LastItemLookup(Lookupvalue As String, LookupRange As Range, ColumnNumber As Integer) Dim x As Long For x = LookupRange.Columns(1).Cells.Count To 1 Step -1 If Lookupvalue = LookupRange.Cells(x, 1) Then LastItemLookup = LookupRange.Cells(x, ColumnNumber) Exit Function End If Next x End Function 

Passo 7:

Quindi premere il pulsante di riproduzione per eseguire i codici. A finestra di dialogo denominato Macro apparirà.

➦ Fare clic Correre .

La nostra nuova funzione è pronta.

Passo 8:

Ora tornate al vostro foglio di lavoro.

Attivare Cella F5

➦ Digitare la formula riportata di seguito con la nuova funzione.

=LastItemLookup(E5,B5:C13,2)

Stampa Entrare per ottenere il risultato dell'ultima occorrenza per Ron .

Quando si sceglie il nome di un venditore, si ottiene il valore corrispondente all'ultima occorrenza.

Conclusione

Spero che tutti i metodi descritti in precedenza siano abbastanza validi per eseguire il vlookup dell'ultimo valore di una colonna. Sentitevi liberi di fare qualsiasi domanda nella sezione dei commenti e per favore datemi un feedback

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.