Features of !SEMTools

Маңызды: «табу» термині адамдардың санасында жиі «табу және шығарып алу» дегенді білдіретіндіктен, біз бірден ескертеміз, төменде іздеудің бульдік түсіндірмесі бар, басқаша айтқанда, екі нәтиже бар – табылды немесе табылмады. Ұқсас, бірақ бәрібір басқа тапсырма – латын таңбаларын шығару.

Кириллицадан басқа латын әріптері бар мәтін өте жиі кездеседі және мәтіннің қай орналасуда екенін визуалды түрде анықтау әрдайым мүмкін емес. Екі орналасудағы көптеген таңбалардың сұлбасы бірдей.

Кириллица таңбаларының арасынан латын тілін өз көзіңізбен немесе керісінше ағылшын мәтініндегі кириллицаны табу қажет болғанда, өте қарапайым шешім бар – Excel бағдарламасында классикалық емес қаріптерді пайдалану.

Мысалы, Dubai Light латын әліпбиін жұқа етеді, Dubai Medium оны кириллицадан қалыңырақ етеді, Microsoft Himalaya оны төменірек етеді, Ink Free оны курсив етеді.

Бірақ бастапқы деректер көп болған кезде, көру ғана емес, сондай-ақ мұндай ұяшықтарды сүзгілеу немесе сұрыптау мүмкіндігі де маңызды. Мәселені шешуді жеңілдететін және тездететін бірнеше нұсқалар бар.

Excel бағдарламасында латын әліпбиін табу – функция

Мәтіндегі латын әліпбиінің әріптерін іздеу міндеті Excel бағдарламасындағы тривиальды емес тапсырмалардың бірі болып табылады, сонымен қатар жеке таңбалардың кез келген ұзын тізбегін іздеу. Сандарды іздеу жағдайындағыдай, қалыпты іздеу барлық латын әріптерінен өтуі керек – және олардың 26-сы бар, бұл сандардан да көп.

image-10
Detect латынша – қалаған нәтиже

Құрама массив формуласы макростарды немесе пайдаланушы анықтайтын функцияларды (UDF) қажет етпейтін немесе пайдаланбайтын жағдайларда пайдалы:

=СЧЁТ(ПОИСК({"a":"b":"c":"d":"e":"f":"g":"h":"i":"j":"k":"l":"m":"n":"o":"p":"q":"r":"s":"t":"u":"v":"w":"x":"y":"z"};A1))>0

Мұнда A1 – латын таңбаларының бар-жоғын «тексергіміз» келетін ұяшық. Функция TRUE немесе FALSE қайтарады. «ІЗДЕУ» функциясының регистрді ескермейтінін ескеру маңызды, сондықтан ол кез келген жағдайда әріптерді табуға мүмкіндік береді.

Әріптер ауқымын басқа жолмен көрсетуге бола ма? Иә, массив формуласы, бірақ SYMBOL функциясы мен STRING функциясы бұған көмектеседі:

{=СЧЁТ(ПОИСК(СИМВОЛ(СТРОКА(65:90));A1))>0}

Бұл массив формуласының алдыңғысынан айырмашылығы – оны жақшасыз енгізу керек, олар формуланы Ctrl + Shift + Enter тіркесімімен енгізген кезде пайда болады (әдеттегі Enter орнына). Жоғарыдағы формулада барлық әріптер анық жазылған, бұйра жақшалар қолмен енгізіледі – бұл жол жиымының айқын көрсеткіші.

Excel бағдарламасында кириллица табу – функциясы

Сіз болжағандай, кириллица әліпбиін мәтіннен дәл осылай таба аласыз:

=СЧЁТ(ПОИСК({"а":"б":"в":"г":"д":"е":"ё":"ж":"з":"и":"й":"к":"л":"м":"н":"о":"п":"р":"с":"т":"у":"ф":"х":"ц":"ч":"ш":"щ":"ъ":"ы":"ь":"э":"ю":"я"};A1))>0

Немесе CHAR функциясы бар массив формуласы:

{=СЧЁТ(ПОИСК(СИМВОЛ(СТРОКА(192:223));A1))>0}

Орыс тілі Юникод емес бағдарламалар үшін жүйелік тіл ретінде таңдалса, массив формуласы дұрыс жұмыс істейді.

Бұл екі формулада шамалы айырмашылық бар – екіншісі, біріншіден айырмашылығы, 32 әріпті пайдаланады, өйткені Y әрпі таңбалар ауқымында емес.

Бас әріптерді қалай табуға болады

«ІЗДЕУ» дан айырмашылығы, «ТАБУ» регистрді ескеретін функция, ол әріптерді тізімде көрсетілген регистрде табуға мүмкіндік береді.

Бас латын әріптерін іздеу функциясы

=СЧЁТ(НАЙТИ({"A":"B":"C":"D":"E":"F":"G":"H":"I":"J":"K":"L":"M":"N":"O":"P":"Q":"R":"S":"T":"U":"V":"W":"X":"Y":"Z"};A1))>0

Үлкен кириллица таңбаларын іздеу функциясы

=СЧЁТ(НАЙТИ({"А":"Б":"В":"Г":"Д":"Е":"Ё":"Ж":"З":"И":"Й":"К":"Л":"М":"Н":"О":"П":"Р":"С":"Т":"У":"Ф":"Х":"Ц":"Ч":"Ш":"Щ":"Ъ":"Ы":"Ь":"Э":"Ю":"Я"};A1))>0

Function to search for any uppercase characters

Бұл ұяшықтағы кириллица және латын әріптерін, егер олар бас әріппен жазылса, табуға көмектеседі.

=СЧЁТ(НАЙТИ({"А":"Б":"В":"Г":"Д":"Е":"Ё":"Ж":"З":"И":"Й":"К":"Л":"М":"Н":"О":"П":"Р":"С":"Т":"У":"Ф":"Х":"Ц":"Ч":"Ш":"Щ":"Ъ":"Ы":"Ь":"Э":"Ю":"Я":"A":"B":"C":"D":"E":"F":"G":"H":"I":"J":"K":"L":"M":"N":"O":"P":"Q":"R":"S":"T":"U":"V":"W":"X":"Y":"Z"};A1))>0

Ұяшықтағы сандарды іздеу үшін бірдей синтаксисті пайдалануға болады.

UDF көмегімен «латынша табу» және «кириллица табу» функциялары

UDF (User-defined function, user-defined function) – осы түрдегі функцияларды жиі пайдаланатындарға парақтағы синтаксисті жеңілдетуге көмектеседі, өйткені кодта шығындар сметасын қамтиды.

Function найтиЛатиницу(txt As String) As Boolean 
найтиЛатиницу = txt Like "*[A-z]*" 
End Function
Function найтиКириллицу(txt As String) As Boolean 
найтиКириллицу= txt Like "*[А-яЁё]*" 
End Function

Латын әріптерін екі рет басу арқылы табыңыз

Excel бағдарламасында латын таңбаларының бар-жоғын тексерудің ең жылдам жолы !SEMTools пайдаланушыларына қолжетімді.
Процедура: диапазонды көшіру, көшірілгенді таңдау және «АНҚУ» тобының «Символдарды табу» мәзірінде макросты шақыру.

nayti-latinitsu
!SEMTools қондырмасын пайдаланып, формулаларды қолданбай Excel ұяшықтарында латын тілін табыңыз

Құрамында кириллица және латын әріптері бар сөздерді табыңыз

Кейде ұяшықта латын және кириллица үшін қарапайым іздеу мәселені шешпейді, өйткені ұяшықта таңбалардың екі түрінің де болуы бастапқыда болжанады. Мысалы, «Тойота автокөлігі», «Siemens тоңазытқышы». Бұл екі мысалда басқа әліпбидегі әріптер әдейі енгізілген: Toyota-да кириллица «o» және Siemens-те кириллица «e» бар. Бұл кейіпкерлердің сұлбасы бірдей, бірақ роботтар үшін бұл мүлдем басқа кейіпкерлер.

Жеке сөздерде латын немесе кириллицадағы әріптерді жазудағы айырмашылықты Excel бағдарламасында қалай тексеруге болады? Жоғарыдағы формулалар дұрыс жазылған сөз тіркестерін қате жазылған сөз тіркестерінен ажырата алмайды, өйткені олар кириллица мен латын әліпбиін тексергенде барлық сөз тіркестеріне «ШЫН» береді.

Егер сіз нақты сөздерді іздесеңіз, мәселені шеше аласыз! !SEMTools қолданбасында бұл мәселенің екі шешімі бар:

Тұрақты тіркестерді қолдану

Процедура «АНҚУ» – «Сөздер» – «Үлгі бойынша» мәзірінде орналасқан. REGEX үлгісі мәселені бір әрекетте шешуге мүмкіндік береді, өйткені оның «НЕМЕСЕ» операторы бар.
Бұл өрнек кириллицадан кейін латын әріпі немесе керісінше болатын сөздерді табу керек дегенді білдіреді. Сонымен қатар кез келген басқа таңбалар (сандар, сызықшалар және бос орыннан басқа кез келген басқа) таңбалар арасында сөздің ішінде болуы мүмкін.

([a-zA-Z].*[а-яА-ЯёЁ]|[а-яА-ЯёЁ].*[a-zA-Z])

Үлгінің өзі ондағы сөздердің санына қарамастан кез келген жолға қолданылатынын түсіну маңызды, бірақ көрсетілген процедура аясында !SEMTools жеке сөздерге қолданылады.

cyrlat
Құрамында кириллица және латын әріптері бар сөздерді іздеу үшін осы мақаладағы тұрақты тіркесті қолданамыз

Екі итерацияда

Бұл әдіс өте қисынды, бірақ біраз уақытты қажет етеді. Сізге алдымен латын әліпбиі бар сөздерді шығарып алу керек, содан кейін осы жолмен алынғандардың ішінен кириллица бар сөздерді іздеңіз.

Мәліметтермен әрі қарай әрекеттесу жағдайлары

Құрамында кириллица, латын немесе екі таңба түрі бар сөздерді бір уақытта табу – бұл күрестің жартысы ғана. Олардың ашылу кезеңі көбінесе одан әрі әрекеттермен жалғасады.

Жою

Кейде латын әліпбиі бар сөздерді алып тастау керек.

Экстракт

Сіз латын әліпбиін шығарғыңыз келуі мүмкін. !SEMTools бағдарламасында мұны сөз санын санау және олардың құрылымын қарау үшін латын әріптері бар сөздерді алуды қоса алғанда, тұрақты тіркестерді қолдану арқылы жасауға болады. Өнім каталогынан, мысалы, ағылшын тілінде жазылған брендтерді жылдам шығарып алыңыз.

Істі өзгерту

Латын әліпбиі бар сөздерді бас әріппен жазудың мағынасы бар жағдайлар бар – бұл бірдей шетелдік брендтерге қатысты.

Таңбаларды ауыстырыңыз

Ақырында, кириллица әліпбиін латын әліпбиіне ауыстыру қажет болатын жағдайлар бар – бірақ мұнда нұсқалар да мүмкін: транслитерациялауға, орналасуды өзгертуге немесе басқа тілдегі таңбаларды ұқсастармен ауыстыруға болады. Соңғы жағдай туралы толығырақ: орыс әріптерін ағылшын әріптерімен ауыстырыңыз және керісінше.

Осы жағдайлардың әрқайсысы туралы сайттың сәйкес бөлімінде оқи аласыз, қондырмада мұндай жағдайларды жылдам өңдеуге арналған макростар бар.

This post is also available in EN and RU.