Formula di Excel: ottieni il primo valore non vuoto in un elenco -

Sommario

Formula generica

(=INDEX(range,MATCH(FALSE,ISBLANK(range),0)))

Sommario

Per ottenere il primo valore non vuoto (testo o numero) in a in un intervallo di una colonna, è possibile utilizzare una formula di matrice basata sulle funzioni INDICE, CONFRONTA e VUOTO. Nell'esempio mostrato, la formula in D10 è:

(=INDEX(B3:B11,MATCH(FALSE,ISBLANK(B3:B11),0)))

Nota: questa è una formula di matrice e deve essere inserita con Ctrl-Maiusc-Invio.

Spiegazione

Quindi, il succo del problema è questo: vogliamo ottenere la prima cella non vuota, ma non abbiamo un modo diretto per farlo in Excel. Potremmo usare CERCA.VERT con un carattere jolly * (vedi link sotto), ma funzionerà solo per il testo, non per i numeri.

Quindi, dobbiamo creare la funzionalità di cui abbiamo bisogno annidando le formule. Il modo per farlo è utilizzare una funzione di matrice che "testa" le celle e restituisce una matrice di valori VERO / FALSO che possiamo inserire nella funzione CONFRONTA.

Lavorando dall'interno verso l'esterno, la funzione ISBLANK valuta le celle nell'intervallo B3: B11 e restituisce un array che assomiglia a questo:

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

Ogni FALSO rappresenta una cella nell'intervallo che non è vuota.

Successivamente, MATCH cerca FALSE all'interno dell'array e restituisce la posizione della prima corrispondenza trovata, in questo caso 2. A questo punto, la formula nell'esempio ora ha questo aspetto:

(=INDEX(B3:B11,2,0)))

Infine, la funzione INDICE prende il sopravvento e ottiene il valore nella posizione 2 nell'array, che è 10.

Primo valore di lunghezza diverso da zero

Per ottenere il primo valore di lunghezza diverso da zero, puoi includere la funzione LEN in questo modo:

(=INDEX(range,MATCH(TRUE,LEN(range)>0,0)))

Primo valore numerico

Per ottenere il primo valore numerico in un elenco, è possibile adattare la formula per utilizzare la funzione NUMERO ISTANTANEO, quindi modificare la logica in modo che corrisponda a VERO anziché a FALSO:

(=INDEX(range,MATCH(TRUE,ISNUMBER(range),0)))

Anche questa è una formula di matrice e deve essere inserita con CTRL + MAIUSC + INVIO.

Buoni collegamenti

Trova il primo elemento non vuoto in un elenco (chandoo)

Articoli interessanti...