|
Тема
|
число от текст
|
|
Автор | nepukis (Нерегистриран) |
Публикувано | 31.05.07 13:30 |
|
Как може да се извлече число от даден текст
Например:
в А1 имаме "Вагон с 35 палета"
в В1 да се получи само 35
| |
|
Браточка, точно за твоя проблем са писали.
само да знаеш, че е по-добре да пипнеш малко формулата, която предлагат, за да ти върши по-хубава работа.
Накратко казано, ако текстът ти е в клетка А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 на 31.05.07 14:13.
| |
Тема
|
Re: число от текст
[re: f(x)dx]
|
|
Автор | nepukis (Нерегистриран) |
Публикувано | 31.05.07 14:13 |
|
Мерси за бързия отговор ще я пробвам.
Абе тязи хора що не са направили някаква функция, ами трябва да се правят тези еквалибристики
| |
|
е сега, що не са направили. Това първо е Микрософт. Повече коментари не са нужни, но все пак от друга страна съгласи се, че не могат да предвидят нуждите и проблемите на всичките милиони хора дето бачкат с Ексел.
От трета страна - хората са си го написали в сайта, напълно безплатно е и отнема пет минути да си решиш проблема.
Така че, не им придиряй толкова
айде със здраве
| |
Тема
|
Re: число от текст
[re: nepukis]
|
|
Автор |
TRN () |
Публикувано | 01.06.07 13:39 |
|
А защо вместо подобни еквилибристики не си направиш друго форматиране на клетките. Например
Вариант 1: Клетка A1 форматираш Custom -> "Вагон с "0" палета" и си въвеждаш само цифрите и работиш с нея.
Вариант 2: A1="Вагон с " & B1 & " палета" - Въвеждаш данните в B1, а A1 я ползваш само за текстовата част.
| |
|
Ето и една формулка на 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
| |
|
|
|
|