Exceli valem: sobitage pikk tekst -

Üldine valem

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

Kokkuvõte

Üle 255 tähemärgi pikkuse teksti sobitamiseks funktsiooniga MATCH saate teksti sõelumiseks ja võrdlemiseks funktsioone VASAK, MID ja TÄPSELT kasutada, nagu allpool selgitatud. Näidatud näites on valem G5-s järgmine:

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

kus andmed on nimega vahemik B5: B15.

Märkus. Selle valemiga võrreldakse väiketähti.

Selgitus

Funktsioonil MATCH on otsingu väärtuse limiit 255 tähemärki. Kui proovite kasutada pikemat teksti, tagastab MATCH tõrke #VALUE.

Selle piiri ületamiseks saate teksti sõelumiseks ja võrdlemiseks kasutada tõeväärtusloogikat ning funktsioone LEFT, MID ja EXACT.

String, mida me lahtris E5 testime, on 373 tähemärki järgmiselt:

Lorem ipsum dolor amet pani linnule nimekirja sihtfondi, ükssarviku vaporware jalgrattaõigused, mida te pole ilmselt neist vuntsidest kuulnud. Forage helvetica toore semiootika on tegelikult pärandvara. Tumblr poutine ükssarvik godard proovige enne, kui nad narwalli meditatsiooni kitši vesti fixie twee välja müüdi, sõna otseses mõttes kapuuts retro. Messenger kott kuradima toore rohelise mahla käsitööline.

Põhimõtteliselt on see lihtsalt MATCH-valem, mis on loodud otsima ühte täpse vaste režiimis:

=MATCH(1,array,0)

Massiiv ülaltoodud valemis sisaldab ainult 1 ja 0 ning 1 tähistab sobivat teksti. Selle massiivi koostab järgmine avaldis:

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

Sellel väljendil on kaks osa. Vasakul on meil:

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

Siin ekstraheerib funktsioon LEFT esimesed 255 tähemärki E5-st ja kõigist nimetatud vahemiku andmete lahtritest (B5: B15). Kuna andmed sisaldavad 11 tekstistringi, genereerib LEFT 11 tulemust.

Funktsioon EXACT võrdleb seejärel E5 üksikut stringi kõigi 11 VASAKU tagastatud stringiga. EXACT tagastab sellise massiivi 11 tulemust:

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

Paremal on meil veel üks väljend:

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

See on täpselt sama lähenemisviis, mida kasutati LEFT-iga, kuid siin kasutame järgmise 255 tähemärgi ekstraheerimiseks funktsiooni MID. Funktsioon TÄPSELT annab tagasi 11 tulemust:

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

Kui kaks ülaltoodud massiivi korrutatakse üksteisega, sunnib matemaatikaoperatsioon TRUE FALSE väärtused 1-ks ja 0-ks. Boole'i ​​aritmeetika reegleid järgides on tulemuseks selline massiiv:

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

mis tagastatakse otsimassiivina otse MATCH-ile. Valemi saab nüüd lahendada järgmiselt:

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

Funktsioon MATCH täidab täpse vaste ja tagastab lõpptulemuse 10, mis tähistab B5: B15 kümnendat tekstistringi.

Märkus: näites näidatud teksti pikkus arvutatakse funktsiooniga LEN. See ilmub ainult viitena.

Suur- ja väiketähtedeta variant

Funktsioon EXACT on tõstutundlik, nii et ülaltoodud valem arvestab väiketähti.

Pika tekstiga suurtähteta tunde sobitamiseks kasutage funktsioone ISNUMBER ja SEARCH järgmiselt:

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

Selle valemi üldstruktuur on identne ülaltoodud näitega, kuid teksti võrdlemiseks kasutatakse funktsiooni OTSE asemel funktsiooni OTSI (selgitatakse siin üksikasjalikult).

Erinevalt EXACTist toetab funktsioon OTSING ka metamärke.

XMATCH-iga

Funktsioonil XMATCH ei ole sama 255 tähemärgipiirangut kui MATCHil. Pika tekstiga sarnase vaste saavutamiseks XMATCH-iga saate kasutada palju lihtsamat valemit:

=XMATCH(E5,data)

Märkus. XMATCH toetab metamärke, kuid ei ole tõstutundlik.

Huvitavad Artiklid...