Potresti chiederti se esiste un modo per restituire l’ultimo valore (non il più grande) in una colonna. Ad esempio, se sono presenti valori da A1 ad A5, è possibile che venga restituito il valore in A5. Successivamente, se i valori sono stati aggiunti da A6 a A8, dovrebbe essere restituito il valore in A8.

Ci sono un paio di modi in cui una soluzione può essere affrontata. Il primo è usare una formula come la seguente:

=INDEX(A:A,COUNT(A:A))

Questa formula restituisce l’ultimo valore numerico in una colonna, a condizione che i valori inizino (in questo caso) A1. Questo approccio funziona solo se tutti i valori nella colonna sono numerici. Se i valori non sono numerici o se sono presenti celle vuote mescolate con i valori, è necessario un approccio diverso. Un modo è copiare la seguente formula nella colonna B, appena a destra delle celle che possono contenere valori:

=IF(ISNUMBER(A2),IF(A2<>0,ROW(A2),""),"")

In questo caso, la formula restituisce il numero di riga di qualsiasi cella in A che contiene un valore numerico maggiore di zero. La seguente formula può quindi essere utilizzata per recuperare l’ultimo valore nella colonna A:

=INDEX(A:A,MAX(B:B))

Questa formula funziona perché restituisce il numero di riga più grande dalla colonna B, quindi lo utilizza come indice per restituire il valore corrispondente dalla colonna A.

Se non vuoi usare una colonna helper (come si fa qui nella colonna B), puoi usare la seguente formula se c’è una combinazione di valori numerici e non numerici nella colonna A:

=LOOKUP(2,1/(1-ISBLANK(A:A)),A:A)

Questa formula potrebbe richiedere un po ‘di spiegazione. La parte ISBLANK (A: A) restituisce un array che elenca un valore FALSE in ogni punto corrispondente a una cella nella colonna A che contiene un valore e un valore TRUE in ogni punto corrispondente a una cella nella colonna A che è vuota. Questi valori VERO / FALSO vengono quindi sottratti da 1 in modo che cambi in valori 0/1 invece che in valori VERO / FALSO.

Questo array viene quindi “invertito” dividendo 1 per i valori 0/1, risultando in un array che contiene un 1 ovunque ci sia un valore nella colonna A e un # DIV / 0! errore ovunque la colonna A abbia una cella vuota. Infine, la funzione CERCA cerca il valore 2 nell’array. Non lo troverà (ci sono solo 1 ed errori nell’array), quindi restituisce l’ultimo “1” nell’elenco e quindi recupera l’ultimo valore non vuoto dalla colonna.

Come puoi vedere, restituire l’ultimo valore in una colonna a volte può essere un po ‘complicato. Un approccio pulito consiste nello sviluppare semplicemente la tua funzione VBA che restituisce il valore desiderato. In questo caso è possibile programmare la funzione per restituire qualsiasi valore, non solo valori numerici.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (9008) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per l’interfaccia del menu precedente di Excel qui: