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.