
Formula generică
(=MATCH(TRUE,IF(LEFT(range,1)"N",TRUE),0))
rezumat
Pentru a se potrivi cu prima valoare care nu începe cu un șir specific, puteți utiliza o matrice bazată pe funcțiile MATCH și LEFT. În exemplul prezentat, formula din F5 este:
(=MATCH(TRUE,IF(LEFT(code,1)"N",TRUE),0))
unde „cod” este intervalul numit B5: B12.
Notă: aceasta este o formulă matrice și trebuie introdusă cu control + shift + enter.
Explicaţie
Cheia acestei formule este matricea sau valorile ADEVĂRATE și FALSE construite cu această expresie:
LEFT(code,1)"N"
Aici, fiecare valoare din intervalul numit „cod” este evaluată cu testul logic „prima literă nu este N”. Rezultatul este o matrice sau valori ADEVĂRATE și FALSE ca aceasta:
(FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE)
Această matrice este introdusă în funcția MATCH ca matrice de căutare. Valoarea de căutare este TRUE și tipul de potrivire este setat la zero pentru a forța o potrivire exactă. Funcția MATCH returnează poziția primei valori care nu începe cu litera „N” (Z09876), care este 5.
INDICE și MATCH
Pentru a recupera o valoare asociată cu poziția returnată de MATCH, puteți adăuga funcția INDEX. În exemplul prezentat, formula din F6 este:
(=INDEX(value,MATCH(TRUE,LEFT(code,1)"N",0)))
Rețineți că folosim aceeași formulă MATCH de mai sus pentru a furniza un număr de rând către INDEX, cu matricea setată la intervalul numit „valoare”. Ca și înainte, MATCH returnează 5. INDEX apoi returnează valoarea la acea poziție, -23.
La fel ca înainte, aceasta este o formulă matrice și trebuie introdusă cu control + shift + enter.