число от текст

5 отговора 0 прегледа
#1

число от текст

Как може да се извлече число от даден текст
Например:
в А1 имаме "Вагон с 35 палета"
в В1 да се получи само 35

Отговор
в отговор на nepukis #2

Re: число от текст

Браточка, тука точно за твоя проблем са писали.

само да знаеш, че е по-добре да пипнеш малко формулата, която предлагат, за да ти върши по-хубава работа.
Накратко казано, ако текстът ти е в клетка А1, формулата ти е:
=1*MID(A1;MATCH(TRUE;ISNUMBER(1*MID(A1;ROW($1:$9000);1));0);COUNT(1*MID(A1;ROW($1:$9000);1)))

дългичко е малко, ама върши работа. бахмааму, тоя Ексел не спира да ме изненадва.

За малко да забравя - формулата е array formula, т.е. трябва да дадеш Shift+Ctrl+Enter, вместо само Enter. иначе дава грешка.
освен това трябва да имаш максимум едно число в клетката

Редактирано от f(x)dx на

Отговор
в отговор на f(x)dx #3

Re: число от текст

Мерси за бързия отговор ще я пробвам.
Абе тязи хора що не са направили някаква функция, ами трябва да се правят тези еквалибристики

Отговор
в отговор на nepukis #4

Re: число от текст

е сега, що не са направили. Това първо е Микрософт. Повече коментари не са нужни, но все пак от друга страна съгласи се, че не могат да предвидят нуждите и проблемите на всичките милиони хора дето бачкат с Ексел.
От трета страна - хората са си го написали в сайта, напълно безплатно е и отнема пет минути да си решиш проблема.

Така че, не им придиряй толкова
айде със здраве

Отговор
в отговор на nepukis #5

Re: число от текст

А защо вместо подобни еквилибристики не си направиш друго форматиране на клетките. Например
Вариант 1: Клетка A1 форматираш Custom -> "Вагон с "0" палета" и си въвеждаш само цифрите и работиш с нея.
Вариант 2: A1="Вагон с " & B1 & " палета" - Въвеждаш данните в B1, а A1 я ползваш само за текстовата част.

Отговор
в отговор на nepukis #6

Re: число от текст

Ето и една формулка на VBA

Function ExtractNumber(rCell As Range)
Dim lCount As Long, l As Long
Dim sText As String
Dim lNum As String
sText = rCell
lCount = 1
lNum = ""
While lCount <= Len(sText) And Not IsNumeric(Mid(sText, lCount, 1))
lCount = lCount + 1
Wend
While lCount <= Len(sText) And IsNumeric(Mid(sText, lCount, 1))
lNum = lNum & Mid(sText, lCount, 1)
lCount = lCount + 1
Wend
ExtractNumber = lNum
End Function

Go Install Analysis Toolpack!
Отговор