![](https://cdn.wiki-base.com/7335597/excel_formula_match_first_does_not_begin_with__2.png.webp)
Formula generica
(=MATCH(TRUE,IF(LEFT(range,1)"N",TRUE),0))
Sommario
Per trovare una corrispondenza con il primo valore che non inizia con una stringa specifica, è possibile utilizzare un array basato sulle funzioni MATCH e LEFT. Nell'esempio mostrato, la formula in F5 è:
(=MATCH(TRUE,IF(LEFT(code,1)"N",TRUE),0))
dove "codice" è l'intervallo denominato B5: B12.
Nota: questa è una formula di matrice e deve essere inserita con CTRL + MAIUSC + INVIO.
Spiegazione
La chiave di questa formula è l'array o i valori TRUE e FALSE costruiti con questa espressione:
LEFT(code,1)"N"
Qui, ogni valore nell'intervallo denominato "codice" viene valutato con il test logico "la prima lettera non è N". Il risultato è un array o valori TRUE e FALSE come questo:
(FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE)
Questo array viene inserito nella funzione MATCH come array di ricerca. Il valore di ricerca è TRUE e il tipo di corrispondenza è impostato su zero per forzare una corrispondenza esatta. La funzione CONFRONTA restituisce la posizione del primo valore che non inizia con la lettera "N" (Z09876), che è 5.
INDICE e MATCH
Per recuperare un valore associato alla posizione restituita da MATCH, è possibile aggiungere la funzione INDICE. Nell'esempio mostrato, la formula in F6 è:
(=INDEX(value,MATCH(TRUE,LEFT(code,1)"N",0)))
Nota che stiamo usando la stessa formula MATCH sopra per fornire un numero di riga a INDICE, con l'array impostato sul "valore" dell'intervallo denominato. Come prima, CONFRONTA restituisce 5. INDICE quindi restituisce il valore in quella posizione, -23.
Come prima, questa è una formula di matrice e deve essere inserita con CTRL + MAIUSC + INVIO.