
Bendroji formulė
=MATCH(1,EXACT(LEFT(A1,255),LEFT(rng,255))*EXACT(MID(A1,256,255),MID(rng,256,255)),0)
Santrauka
Norėdami suderinti ilgesnį nei 255 simbolių tekstą su funkcija MATCH, galite naudoti funkcijas LEFT, MID ir EXACT, kad išanalizuotumėte ir palygintumėte tekstą, kaip paaiškinta toliau. Parodytame pavyzdyje formulė G5 yra:
=MATCH(1,EXACT(LEFT(E5,255),LEFT(data,255))*EXACT(MID(E5,256,255),MID(data,256,255)),0)
kur duomenys yra įvardytas diapazonas B5: B15.
Pastaba: ši formulė atlieka didžiųjų ir mažųjų raidžių palyginimą.
Paaiškinimas
Funkcija MATCH turi 255 simbolių ribą paieškos vertei. Jei bandysite naudoti ilgesnį tekstą, MATCH pateiks #VALUE klaidą.
Norėdami apeiti šią ribą, galite analizuoti ir palyginti teksto loginę logiką bei LEFT, MID ir EXACT funkcijas.
Eilutės, kurią bandome atlikti langelyje E5, yra 373 simboliai:
„Lorem ipsum dolor amet“ įtraukė paukštį į sąrašų patikos fondą, vienaragio „vaporware“ dviračio teises, apie kurias jūs tikriausiai negirdėjote. „Forage helvetica“ pluta semiotika iš tikrųjų yra palikimas. „Tumblr poutine“ vienaragis godardas stengėsi, kol jie išpardavė narvalo meditacijos kičo liemenę „fixie twee“ pažodžiui gobtuvą retro. Pasiuntinių krepšys velniškai žalių sulčių amatininkas.
Iš esmės tai tik MATCH formulė, sukurta ieškoti 1 tikslaus atitikimo režimu:
=MATCH(1,array,0)
Aukščiau pateiktoje formulėje esančiame masyve yra tik 1 ir 0, o 1 reiškia atitinkantį tekstą. Šis masyvas sudarytas iš šios išraiškos:
EXACT(LEFT(E5,255),LEFT(data,255))*EXACT(MID(E5,256,255),MID(data,256,255))
Šią išraišką sudaro dvi dalys. Kairėje turime:
EXACT(LEFT(E5,255),LEFT(data,255)) // compare first 255 chars
Čia funkcija LEFT ištraukia pirmuosius 255 simbolius iš E5 ir iš visų pavadintų diapazono duomenų langelių (B5: B15). Kadangi duomenyse yra 11 teksto eilučių, LEFT sukurs 11 rezultatų.
Tada funkcija TIKSLAS lygina vieną eilutę iš E5 su visomis 11 Kairės grąžintų eilučių. EXACT pateikia 11 tokių masyvo rezultatų:
(FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE)
Dešinėje turime dar vieną išraišką:
EXACT(MID(E5,256,255),MID(data,256,255) // compare next 255 chars
Tai tiksliai tas pats metodas, kaip ir su kairiuoju, tačiau čia mes naudojame funkciją MID, kad ištrauktume kitus 255 teksto simbolius. Funkcija TIKSLAS vėl pateikia 11 rezultatų:
(TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE)
Kai du aukščiau pateikti masyvai padauginami vienas iš kito, matematikos operacija PATIKIMOS NETIESOS reikšmes priverčia į 1 ir 0. Laikantis loginės aritmetikos taisyklių, gaunamas toks masyvas:
(0;0;0;0;0;0;0;0;0;1;0)
kuris grąžinamas tiesiai į MATCH kaip paieškos masyvas. Dabar formulę galima išspręsti taip:
=MATCH(1,(0;0;0;0;0;0;0;0;0;1;0),0)
Funkcija MATCH atlieka tikslią atitiktį ir pateikia galutinį rezultatą 10, kuris reiškia dešimtąją teksto eilutę B5: B15.
Pastaba: pavyzdyje parodytas teksto ilgis apskaičiuojamas naudojant funkciją LEN. Jis rodomas tik kaip nuoroda.
Didžiųjų ir mažųjų raidžių pasirinkimas
Funkcija TIKSLAS skiria didžiosios ir mažosios raidės, todėl aukščiau pateikta formulė atitiks didžiųjų ir mažųjų raidžių reikšmę.
Norėdami atlikti didžiųjų ir mažųjų raidžių reikšmių atitiktį su ilgu tekstu, naudokite funkcijas ISNUMBER ir SEARCH taip:
=MATCH(1,ISNUMBER(SEARCH(LEFT(E5,255),LEFT(data,255)))*ISNUMBER(SEARCH(MID(E5,256,255),MID(data,256,255))),0)
Bendra šios formulės struktūra yra identiška aukščiau pateiktam pavyzdžiui, tačiau teksto palyginimui vietoj EXACT naudojama funkcija PAIEŠKA (išsamiai paaiškinta čia).
Skirtingai nuo EXACT, funkcija SEARCH taip pat palaiko pakaitos simbolius.
Su XMATCH
XMATCH funkcija neturi tokio paties 255 simbolių kiekio kaip MATCH. Norėdami atlikti panašų ilgo teksto atitikimą naudodami „XMATCH“, galite naudoti daug paprastesnę formulę:
=XMATCH(E5,data)
Pastaba: „XMATCH“ palaiko pakaitos simbolius, tačiau neskiria didžiųjų ir mažųjų raidžių.