Excel vzorec: Zhoda dlhého textu -

Všeobecný vzorec

=MATCH(1,EXACT(LEFT(A1,255),LEFT(rng,255))*EXACT(MID(A1,256,255),MID(rng,256,255)),0)

Zhrnutie

Ak chcete priradiť text dlhší ako 255 znakov k funkcii MATCH, môžete pomocou funkcií LEFT, MID a EXACT analyzovať a porovnávať text, ako je vysvetlené nižšie. V zobrazenom príklade je vzorec v G5:

=MATCH(1,EXACT(LEFT(E5,255),LEFT(data,255))*EXACT(MID(E5,256,255),MID(data,256,255)),0)

kde údajmi je pomenovaný rozsah B5: B15.

Poznámka: tento vzorec vykonáva porovnanie veľkých a malých písmen.

Vysvetlenie

Funkcia MATCH má pre vyhľadávaciu hodnotu limit 255 znakov. Ak sa pokúsite použiť dlhší text, MATCH vráti chybu #HODNOTA.

Ak chcete obísť tento limit, môžete na analýzu a porovnanie textu použiť logickú logiku a funkcie LEFT, MID a EXACT.

Reťazec, s ktorým testujeme v bunke E5, má 373 znakov:

Lorem ipsum dolor amet vložil vtáka do fondu trustový fond, práva na jednorazové bicykle pre jednorožce, o ktorých ste pravdepodobne ešte nepočuli fúzy. Krmivo helvetica krustová semiotika vlastne dedičstvo. Tumblr Poutine Unicorn Godard vyskúšali predtým, ako vypredali narvalnu meditačnú gýčovú vestu Fixie Twee, doslova mikinu s kapucňou. Messenger taška pekelná krehká zelená šťava remeselník.

V jadre ide iba o MATCHOVÝ vzorec nastavený na hľadanie 1 v režime presnej zhody:

=MATCH(1,array,0)

Pole vo vyššie uvedenom vzorci obsahuje iba 1 s a 0 s a 1 s predstavuje zodpovedajúci text. Toto pole je zostavené z nasledujúceho výrazu:

EXACT(LEFT(E5,255),LEFT(data,255))*EXACT(MID(E5,256,255),MID(data,256,255))

Samotný tento výraz má dve časti. Naľavo máme:

EXACT(LEFT(E5,255),LEFT(data,255)) // compare first 255 chars

Funkcia LEFT tu extrahuje prvých 255 znakov z E5 a zo všetkých buniek v pomenovaných údajoch rozsahu (B5: B15). Pretože dáta obsahujú 11 textových reťazcov, LEFT vygeneruje 11 výsledkov.

Funkcia EXACT potom porovnáva jeden reťazec z E5 so všetkými 11 reťazcami vrátenými pomocou LEFT. Funkcia EXACT vráti 11 výsledkov v takomto poli:

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

Vpravo máme ďalší výraz:

EXACT(MID(E5,256,255),MID(data,256,255) // compare next 255 chars

Jedná sa o úplne rovnaký prístup, aký sa používa v prípade možnosti LEFT, tu však používame funkciu MID na extrahovanie nasledujúcich 255 znakov textu. Funkcia EXACT opäť vráti 11 výsledkov:

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

Keď sa dve vyššie uvedené polia navzájom vynásobia, matematická operácia vynúti hodnoty TRUE FALSE na 1 s a 0 s. Podľa pravidiel boolovskej aritmetiky je výsledkom pole podobné tomuto:

(0;0;0;0;0;0;0;0;0;1;0)

ktorá sa vráti priamo do MATCH ako vyhľadávacie pole. Vzorec je možné teraz vyriešiť na:

=MATCH(1,(0;0;0;0;0;0;0;0;0;1;0),0)

Funkcia MATCH vykoná presnú zhodu a vráti konečný výsledok 10, čo predstavuje desiaty textový reťazec v B5: B15.

Poznámka: dĺžka textu uvedená v príklade sa počíta pomocou funkcie LEN. Zobrazuje sa iba pre informáciu.

Možnosť nerozlišuje veľké a malé písmená

Funkcia EXACT rozlišuje veľké a malé písmená, takže vyššie uvedený vzorec bude rešpektovať veľké a malé písmená.

Ak chcete vykonať zhodu s malými a veľkými písmenami s dlhým textom, použijete funkcie ISNUMBER a SEARCH nasledovne:

=MATCH(1,ISNUMBER(SEARCH(LEFT(E5,255),LEFT(data,255)))*ISNUMBER(SEARCH(MID(E5,256,255),MID(data,256,255))),0)

Celková štruktúra tohto vzorca je rovnaká ako v predchádzajúcom príklade, ale na porovnanie textu sa namiesto funkcie EXACT používa funkcia SEARCH (podrobne vysvetlené tu).

Na rozdiel od PRESNEHO, funkcia SEARCH podporuje aj zástupné znaky.

S XMATCH

Funkcia XMATCH nemá rovnaké obmedzenie 255 znakov ako MATCH. Ak chcete vykonať podobnú zhodu s dlhým textom pomocou nástroja XMATCH, môžete použiť oveľa jednoduchší vzorec uvedený nižšie:

=XMATCH(E5,data)

Poznámka: XMATCH podporuje zástupné znaky, nerozlišuje sa v ňom veľkosť písmen.

Zaujímavé články...