
Vispārēja formula
=MATCH(1,EXACT(LEFT(A1,255),LEFT(rng,255))*EXACT(MID(A1,256,255),MID(rng,256,255)),0)
Kopsavilkums
Lai saskaņotu tekstu, kura garums pārsniedz 255 rakstzīmes, ar funkciju MATCH, varat izmantot funkcijas LEFT, MID un EXACT, lai parsētu un salīdzinātu tekstu, kā paskaidrots tālāk. Parādītajā piemērā formula G5 ir:
=MATCH(1,EXACT(LEFT(E5,255),LEFT(data,255))*EXACT(MID(E5,256,255),MID(data,256,255)),0)
kur dati ir nosauktais diapazons B5: B15.
Piezīme: šī formula veic salīdzinājumu ar reģistru un reģistru.
Paskaidrojums
Funkcijai MATCH uzmeklēšanas vērtībai ir 255 rakstzīmes. Ja mēģināt izmantot garāku tekstu, MATCH atgriezīs kļūdu #VALUE.
Lai apietu šo ierobežojumu, varat parsēt un salīdzināt teksta loģiku un funkcijas LEFT, MID un EXACT.
Virkne, kuru mēs pārbaudām šūnā E5, ir 373 rakstzīmes šādi:
Lorem ipsum dolor amet ielika putnu, kas atrodas ieguldījumu fondā, unicorn vaporware velosipēdu tiesības, par kurām jūs, iespējams, neesat dzirdējuši par ūsām. Forage helvetica raupja semiotika faktiski ir mantojums. Tumblr poutine vienradzis godards mēģiniet, pirms viņi izpārdeva narvala meditācijas kiča veste fixie twee burtiski retro kapuci. Sūtņa soma, ellīgi garozīgs zaļās sulas amatnieks.
Būtībā šī ir tikai MATCH formula, kas iestatīta, lai meklētu 1 precīzās atbilstības režīmā:
=MATCH(1,array,0)
Masīvā iepriekšminētajā formulā ir tikai 1s un 0s, un 1s apzīmē atbilstošu tekstu. Šo masīvu veido šāda izteiksme:
EXACT(LEFT(E5,255),LEFT(data,255))*EXACT(MID(E5,256,255),MID(data,256,255))
Šai izteiksmei ir divas daļas. Kreisajā pusē mums ir:
EXACT(LEFT(E5,255),LEFT(data,255)) // compare first 255 chars
Šeit funkcija LEFT izvelk pirmās 255 rakstzīmes no E5 un no visām šūnām nosauktajos diapazona datos (B5: B15). Tā kā datos ir 11 teksta virknes, LEFT ģenerēs 11 rezultātus.
Pēc tam funkcija EXACT salīdzina atsevišķu virkni no E5 ar visām 11 virknēm, kuras atgriezis LEFT. EXACT atgriež 11 rezultātus masīvā šādi:
(FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE)
Labajā pusē mums ir vēl viens izteiciens:
EXACT(MID(E5,256,255),MID(data,256,255) // compare next 255 chars
Šī ir tieši tāda pati pieeja kā LEFT, taču šeit mēs izmantojam funkciju MID, lai izvilktu nākamās 255 teksta rakstzīmes. Funkcija EXACT atkal atgriež 11 rezultātus:
(TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE)
Kad abi iepriekš minētie masīvi tiek reizināti ar otru, matemātikas operācija TRUE FALSE vērtības piespiež 1 un 0. Ievērojot Būla aritmētikas noteikumus, rezultāts ir šāds masīvs:
(0;0;0;0;0;0;0;0;0;1;0)
kas tiek atgriezts tieši MATCH kā uzmeklēšanas masīvs. Tagad formulu var atrisināt šādi:
=MATCH(1,(0;0;0;0;0;0;0;0;0;1;0),0)
Funkcija MATCH veic precīzu atbilstību un atgriež gala rezultātu 10, kas apzīmē desmito teksta virkni B5: B15.
Piezīme: piemērā parādītais teksta garums tiek aprēķināts, izmantojot funkciju LEN. Tas parādās tikai atsaucei.
Lielo un mazo burtu atšķirīgs variants
EXACT funkcija ir reģistrjutīga, tāpēc iepriekš minētā formula ņems vērā lielo un mazo burtu.
Lai veiktu lielo un mazo burtu mazjutīgu atbilstību ar garu tekstu, izmantojiet funkcijas ISNUMBER un SEARCH šādi:
=MATCH(1,ISNUMBER(SEARCH(LEFT(E5,255),LEFT(data,255)))*ISNUMBER(SEARCH(MID(E5,256,255),MID(data,256,255))),0)
Šīs formulas kopējā struktūra ir identiska iepriekš minētajam piemēram, bet teksta salīdzināšanai (nevis sīkāk paskaidrots šeit) teksta EXACT vietā tiek izmantota funkcija MEKLĒT.
Atšķirībā no EXACT, funkcija MEKLĒŠANA atbalsta arī aizstājējzīmes.
Ar XMATCH
Funkcijai XMATCH nav tāds pats 255 rakstzīmju ierobežojums kā MATCH. Lai veiktu līdzīgu atbilstību garam tekstam ar XMATCH, varat izmantot daudz vienkāršāku formulu:
=XMATCH(E5,data)
Piezīme: XMATCH atbalsta aizstājējzīmes, taču tā nav reģistrjutīga.