Formula Excel: ottieni l'ultima voce per mese e anno -

Sommario

Formula generica

=LOOKUP(2,1/(TEXT(dates,"mmyy")=TEXT(A1,"mmyy")),values)

Sommario

Per cercare l'ultima voce in una tabella per mese e anno, è possibile utilizzare la funzione CERCA con la funzione TESTO. Nell'esempio mostrato, la formula in F5 è:

=LOOKUP(2,1/(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy")),$C$5:$C$13)

dove B5: B13 ed E5: E7 contengono date valide e C5: C13 contiene importi.

Spiegazione

Nota: lookup_value di 2 è deliberatamente più grande di qualsiasi valore in lookup_vector, seguendo il concetto di bignum.

Lavorando dall'interno verso l'esterno, l'espressione:

(TEXT($B$5:$B$13,"mmyy")=TEXT(E5,"mmyy"))

genera stringhe come "0117" utilizzando i valori nelle colonne B ed E, che vengono poi confrontati tra loro. Il risultato è un array come questo:

(TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)

dove TRUE rappresenta le date nello stesso mese e anno. Il numero 1 viene quindi diviso per questo array. Il risultato è un array di 1 o dividi per zero errori (# DIV / 0!):

(1;1;1;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!)

che va in CERCA come matrice di ricerca. LOOKUP presuppone che i dati siano ordinati in ordine crescente e fa sempre una corrispondenza approssimativa. Quando non è possibile trovare il valore di ricerca di 2, CERCA corrisponderà al valore precedente, quindi la ricerca corrisponderà all'ultimo 1 nell'array.

Infine, LOOKUP restituisce il valore corrispondente in result_vector, che contiene gli importi in C5: C13.

Articoli interessanti...