Мәтін ұяшықтарынан сандардан басқа барлық таңбаларды қалай алып тастауға болады, осылайша олардан сандарды «тартып алу» керек пе? Бірнеше қарапайым және қиын шешімдер бар.
Басқа таңбаларды ауыстыру
Ең оңтайлы емес әдіс – барлық таңбаларды «бос» деген дәйекті түрде ауыстыру. Егер қосымша таңбалар аз болса және жылдам тере алсаңыз, мұны осылай жасауға болады 🙂 Бірақ мақала, әрине, мұндай жағдайлар туралы емес. Егер мыңдаған жолдар мен қосымша таңбалар бар деректер көп болса, бұл тәсіл көп уақытты жоғалтады.
Егер деректердің жүздеген мың қатарлары болса және олардың аз ғана бөлігінде сандар болатыны белгілі болса, алдымен ұяшықтардағы сандарды табу пайдалы болады. Бұл талаптарға сәйкес келетін ұяшықтарды сүзуге, содан кейін олармен жұмыс істеуге мүмкіндік береді – бұл ресурстарды аз қажет етеді. Келесі Excel ұяшықтарындағы мәтіннен бұл сандарды жою қажет болуы мүмкін.
Пайдаланушы анықтайтын функцияларды (UDF) пайдалану
Мәтіннен сандарды шығаруға көмектесетін теңшелетін функцияның мысалы:
Function extrNum(x As String) As Long
For n = 1 To Len(x)
If Mid(x, n, 1) Like "#" Then extrNum = extrNum & Mid(x, n, 1)
Next n
End Function
Бұл кодты қалай қолдануға болады:
- оны жаңа жұмыс кітабы модуліне ендіру (қазіргі уақытта немесе жеке макрос жұмыс кітабында),
- парақтағы функцияны келесідей қолданыңыз: =extrNum(A1).
Тұрақты өрнек синтаксисін пайдалану
Мәтіндік деректермен жұмыс істеу кезінде тұрақты өрнектер үлкен көмекші болып табылады. Қарапайым үлгілерді өңдеуге арналған олардың синтаксисі өте қарапайым, бірақ заттарды қиындату үшін көптеген мүмкіндіктер бар.
!SEMTools ақылы және тегін нұсқаларында келесі мүмкіндіктер бар:
- regexReplace, ол кіріс ретінде 3 аргументті қабылдайды – деректер жолы, тұрақты өрнек мәтіні және ауыстыру жолы;
- екі аргументі бар regexExtract – жол және шығарылатын үлгі.
Сандардан басқа кез келген таңбаларды бос орынмен алмастыратын өрнек келесідей болады:
=REGEXREPLACE(A1;"[^\d]";"")
Сандардың бірінші тұтас тізбегін шығаруға арналған өрнек:
=REGEXEXTRACT(A1;"\d+")
Не қажет болады:
- !SEMTools орнату,
- функцияларды қолдану.
Мәтіннен сандарды бір рет басу арқылы шығарып алыңыз

Пользователям платной версии !SEMTools доступна возможность извлекать цифры моментально прямо «на месте», не прописывая никаких функций.
Макрос находится в группе «ИЗВЛЕЧЬ» в меню «Извлечь символы».
Пайдалы мүмкіндік, егер олардың арасында басқа цифрлық емес таңба болса, макрос сандар арасында бос орын қалдырады. Бұл бірнеше сандарды бір-біріне қайтымсыз жабыстырмауға көмектесуі мүмкін. Егер бұл қажет болмаса, сіз жай ғана фактіден кейін бос орынды «бос» дегенге ауыстыра аласыз. Мысалы, ұяшықта үтірмен бөлінген екі телефон нөмірі болса.
Бейне нұсқау
Мәтінді жойып, сандарды қалдырыңыз – бұл дәл !SEMTools алгоритмінің механикасы. Қысқа бейне мысалын қараңыз: