Excel képlet: Hosszú szöveg egyezése -

Általános képlet

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

Összegzés

A 255 karakternél hosszabb szöveg és a MATCH függvény összehangolásához használhatja a BAL, MID és EXACT függvényeket a szöveg elemzéséhez és összehasonlításához, az alábbiakban leírtak szerint. A bemutatott példában a G5 képlete a következő:

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

ahol az adatok a B5: B15 megnevezett tartomány.

Megjegyzés: ez a képlet különbséget tesz a kis- és nagybetűk között.

Magyarázat

A MATCH függvény 255 karakteres korlátot tartalmaz a keresési értékre. Ha hosszabb szöveget próbál meg használni, akkor a MATCH #VALUE hibát ad vissza.

Ennek a korlátnak a megkerüléséhez logikai logikát, valamint a LEFT, MID és EXACT függvényeket használhatja a szöveg elemzéséhez és összehasonlításához.

Az E5 cellában tesztelt karakterlánc 373 karakter az alábbiak szerint:

A Lorem ipsum dolor amet egy madarat tett rá a listicle trust alapra, az egyszarvú vaporware kerékpárjogokra, amelyekről valószínűleg még nem hallottál bajuszt. Forage helvetica kérges szemiotika valójában örökség. Tumblr poutine egyszarvú godard keményen próbálkozott, mielőtt eladták a narwhal meditációs giccs mellény fixie twee szó szerint kapucnis retro. Messenger táska pokoli kérges zöld gyümölcs kézműves.

Lényegében ez csak egy MATCH képlet, amelyet úgy állítottunk be, hogy pontos keresési módban 1-et keressen:

=MATCH(1,array,0)

A fenti képletben szereplő tömb csak 1-et és 0-t tartalmaz, az 1-es pedig egyező szöveget képvisel. Ezt a tömböt a következő kifejezés alkotja:

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

Ennek a kifejezésnek két része van. A bal oldalon van:

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

Itt a BAL függvény kivonja az első 255 karaktert az E5-ből és a megnevezett tartományadatok összes cellájából (B5: B15). Mivel az adatok 11 szöveges karakterláncot tartalmaznak, a LEFT 11 eredményt generál.

Ezután az EXACT függvény összehasonlítja az E5 egyetlen karakterláncát a BAL által visszaadott 11 karakterlánccal. Az EXACT 11 eredményt ad vissza egy ilyen tömbben:

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

A jobb oldalon van egy másik kifejezésünk:

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

Ez pontosan ugyanaz a megközelítés, mint a LEFT esetében, de itt a MID függvényt használjuk a következő 255 karakteres szöveg kibontásához. Az EXACT függvény ismét 11 eredményt ad vissza:

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

Amikor a fenti két tömböt megszorozzuk egymással, a matematikai művelet az IGAZ HAMIS értékeket 1-re és 0-ra kényszeríti. A logikai számtani szabályokat követve az eredmény egy ilyen tömb:

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

amely közvetlenül a MATCH-ra kerül mint keresési tömb. A képlet most feloldható:

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

A MATCH függvény pontos egyezést végez, és 10-es végeredményt ad vissza, amely a B5: B15 tizedik szövegláncát jelenti.

Megjegyzés: A példában bemutatott szöveghossz a LEN függvénnyel van kiszámítva. Csak referenciaként jelenik meg.

Kis- és nagybetűk közötti opció

Az EXACT függvény megkülönbözteti a kis- és nagybetűket, ezért a fenti képlet figyelembe veszi a kis- és nagybetűket.

A kis- és nagybetűk nélküli egyezés hosszú szöveges végrehajtásához használja az ISNUMBER és a SEARCH függvényeket az alábbiak szerint:

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

Ennek a képletnek a felépítése megegyezik a fenti példával, de a KERESÉS funkciót az EXACT helyett használjuk a szöveg összehasonlítására (itt részletesen elmagyarázzuk).

Az EXACT-tól eltérően a KERESÉS funkció a helyettesítő karaktereket is támogatja.

XMATCH-tal

Az XMATCH függvénynek nincs ugyanaz a 255 karakterkorlátja, mint a MATCH-nak. Ha hasonló szöveget szeretne végrehajtani hosszú szöveg esetén az XMATCH segítségével, az alábbi sokkal egyszerűbb képletet használhatja:

=XMATCH(E5,data)

Megjegyzés: Az XMATCH támogatja a helyettesítő karaktereket, de nem különbözteti meg a kis- és nagybetűket.

érdekes cikkek...