Kirk ha una grande tabella di dati in Excel. Ogni riga ha un numero di veicolo, una data (la tabella è ordinata in base a questa colonna), un chilometraggio iniziale e un chilometraggio finale. Vorrebbe cercare all’indietro nella tabella dei dati per trovare il chilometraggio finale per lo stesso numero di veicolo da utilizzare come chilometraggio iniziale nella riga corrente, simile a CERCA.VERT ma guardando dal basso verso l’alto piuttosto che dall’alto verso il basso.

Ci sono diversi modi per affrontare questo problema con una formula. Supponiamo, per questo esempio, che il numero del veicolo sia nella colonna A, la data nella colonna B, il chilometraggio iniziale nella colonna C e il chilometraggio finale nella colonna D.

Ciò di cui hai bisogno è una formula che puoi inserire nella colonna C che cerchi il chilometraggio finale più recente per il veicolo corrente. La seguente formula fornisce un approccio; dovresti metterlo nella cella C3:

=LOOKUP(2,1/FIND(A3,A$2:A2,1),D$2:D2)

Puoi copiare la formula nella colonna per quanto ti serve. Se il numero del veicolo nella colonna A non è apparso in precedenza nella tabella dei dati, la formula restituirà un errore come #VALORE! o # N / A. In tal caso, puoi facilmente digitare la formula con il chilometraggio iniziale che desideri utilizzare per il veicolo.

Ecco un altro approccio stereotipato, ma questo dovrebbe essere inserito come formula di matrice (premendo Ctrl + Maiusc + Invio):

=IF(A3="","",MAX(IF(($A$2:A2=A3)*($D$2:D2),$D$2:D2)))

Ancora una volta, posiziona la formula nella cella C3 e copiala per quanto necessario.

Questo non restituisce un valore di errore se il veicolo non è apparso in precedenza nella tabella dati; restituisce un valore di 0. È quindi possibile digitare sopra la formula con il chilometraggio iniziale reale per quel veicolo. Potrebbe essere utilizzata anche la seguente formula di matrice:

=IF(A3="","",INDIRECT("D"&LARGE(($A$2:A3=A3)*ROW($2:3),2)))

La differenza con questa formula di matrice è che se il veicolo non è apparso in precedenza nella tabella dei dati, restituisce un #REF! errore.

Ecco due formule di matrice ancora più brevi che puoi usare in C3 (e, di nuovo, copia se necessario):

=MAX((D$2:D2)*(--(A$2:A2=A3)))

=MAX(IF(A$2:A2=A3,D$2:D2))

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

Questo suggerimento (11744) si applica a Microsoft Excel 97, 2000, 2002 e 2003.

Puoi trovare una versione di questo suggerimento per l’interfaccia a barra multifunzione di Excel (Excel 2007 e versioni successive) qui: