
Obecný vzorec
(=MATCH(TRUE,IF(LEFT(range,1)"N",TRUE),0))
souhrn
Chcete-li porovnat první hodnotu, která nezačíná konkrétním řetězcem, můžete použít pole založené na funkcích MATCH a LEFT. V zobrazeném příkladu je vzorec v F5:
(=MATCH(TRUE,IF(LEFT(code,1)"N",TRUE),0))
kde „kód“ je pojmenovaný rozsah B5: B12.
Poznámka: toto je maticový vzorec a musí být zadán pomocí kláves Control + Shift + Enter.
Vysvětlení
Klíčem k tomuto vzorci je pole nebo hodnoty TRUE a FALSE vytvořené s tímto výrazem:
LEFT(code,1)"N"
Zde je každá hodnota v pojmenovaném rozsahu „kód“ vyhodnocena logickým testem „první písmeno není N“. Výsledkem je pole nebo TRUE a FALSE hodnoty, jako je tato:
(FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE)
Toto pole se přivádí do funkce MATCH jako vyhledávací pole. Vyhledávací hodnota je PRAVDA a typ shody je nastaven na nulu, aby vynutil přesnou shodu. Funkce MATCH vrací pozici první hodnoty, která nezačíná písmenem „N“ (Z09876), což je 5.
INDEX a MATCH
Chcete-li načíst hodnotu spojenou s pozicí vrácenou MATCH, můžete přidat funkci INDEX. V ukázaném příkladu je vzorec v F6:
(=INDEX(value,MATCH(TRUE,LEFT(code,1)"N",0)))
Všimněte si, že používáme stejný MATCH vzorec výše k poskytnutí čísla řádku pro INDEX, přičemž pole je nastaveno na pojmenovanou oblast „value“. Stejně jako dříve vrátí MATCH 5. INDEX poté vrátí hodnotu na této pozici, -23.
Stejně jako dříve se jedná o maticový vzorec a musí být zadán pomocí kláves Control + Shift + Enter.