Как може от колона съдържаща име и цифри да отделим цифрите в нова колона?

Microsoft Excel

Имаме колона с данни: New Ръкавици 8 New Коли самолети кораби строителни 21 New Бяла хартия 16 New Работни ръкавици Домакински 149 New Европейска проза 177 New Тигании 172 .... Как най-лесно и бързо може да извадим числата в отделна колона

Здравей, има няколко варианта за справяне с проблема.

Така както си описала проблема го приемам че имаш таблицата показана на снимка 1.

Снимка_1

Ето няколко предложения:


Вариант 1:

Може да използваш следните формули за изваждане на текста и на числата в от клетките в колоната.

Формулата е следната:

  • За да извадиш само текста -

=LEFT(A1;(MIN(FIND({0;1;2;3;4;5;6;7;8;9};A1&"0123456789")))-1)

Идеята накаратко е: формулата да намери позицията на първата цифра в израза записан в клетката и да запише всичко преди нея, т.е. клетката в която изпишеш формулата следва да се запише само текста.

На снимка 2 позициия 1 е показана записа на форумулата която е приложена за цялата колона. Резултата от нея съответно се вижда за всеки ред от колоната показан на снимка 2 позиции 2,3,4 ...

Снимка_2

  • За да извадиш само числовата стойност от клетките в колоната съответно може да приложиш следната формула:

=NUMBERVALUE(RIGHT(A1;LEN(A1)-(MIN(FIND({0;1;2;3;4;5;6;7;8;9};A1&"0123456789")))+1))

Идеята накратко е: формулата да запише символите които са 0;1;2;3;4;5;6;7;8;9 , като ги намери в израза. Записването става на база на изваждането на общата дължина на израза с позицията на първия числов символ, съответно получаваме броя символи от дясно наляво които искаме да изведем от израза. НАЙ-ВАЖНОТО ТУК е да запишем NUMBERVALUE, като първоначална функция за да получим със сигурност число накрая и да може да прилагаме за него функции и формули.

На снимка 3 позициия 1 е показана записа на форумулата която е приложена за цялата колона. Резултата от нея съответно се вижда за всеки ред от колоната показан на снимка 3 позиции 2,3,4 ...

Снимка_2

Този вариант е подходящ ако имаш числова стойност само в края на текста.Така както си описала твоя случай мисля че ще ти свърши работа.

Повече за използването на Find, Search, Right, LEft, MID - може да научиш от курса Анализи с Excel


Вариант 2:

Може да разделиш съдържанието на няколко клетки по показания метод в тази статия от блога на Aula.Методът е посредством използването на Text to Column.

Как се разделя съдържанието на една колона в няколко нови?

В показания пример от блога, разделителя е ; В твоя случай е разстояние (space).

И тук да подчертая в стъпката ( СТЪПКА 3 от статията ) в която определяш коя колона с какъв формат да бъде, незабравяй поселдната колона в която ще получиш само числата, да бъде с формат Number.

Този вариант ти го препоръчвам, ако числата и тескта в клетката са в различни позиции на всеки ред.

Повече за основните иснтрументи като Text to Column може да научите от курса Тайните на Excel.


Вариант 3:

Този вариант е посредством използването на UDF функция.

Функцията е SplitText

Кода е:

Public Function SplitText(pWorkRng As Range, pIsNumber As Boolean) As String
'Updateby20150306
Dim xLen As Long
Dim xStr As String
xLen = VBA.Len(pWorkRng.Value)
For i = 1 To xLen
    xStr = VBA.Mid(pWorkRng.Value, i, 1)
    If ((VBA.IsNumeric(xStr) And pIsNumber) Or (Not (VBA.IsNumeric(xStr)) And Not (pIsNumber))) Then
        SplitText = SplitText + xStr
    End If
Next
End Function

Персоналната функция се прилага като се запише като в VBA редактора на Excel - снимка 4.

Снимка_4

И след това става част от набора от функции в Excel, които имаме.

Как работи, тази персонална функция?

В клетката изписвате =SplitText(A1;TRUE) - следва да ви се запише само числото от клетката, текста следва да бъде елиминиран.

На снимка 5 позиция 1 е показан записа на формулата приложена за цялата колона, съответно резултата е показан на снимка 5 позиция 2,3,4...

Снимка_5

В клетката изписвате =SplitText(A1;FALSE) - следва да ви се запише само текста от клетката, числовата стойнсот следва да бъде елиминирана.

На снимка 6 позиция 1 е показан записа на формулата приложена за цялата колона, съответно резултата е показан на снимка 6 позиция 2,3,4...

Снимка_6

Повече за UDF функциите може да научиш от курса VBA за Excel в него има специален урок с това как се записват и прилагат такива функции, които са доста удобни в такива случаи в които няма съществуваща функции в рамките на Excel, която да направи определено действие разрешаващо даден проблем.


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

Ако не помогне, дай по-конкретен пример със снимка, за да стане по-ясен казуса и съответно за да сме по-полезни във форума.


Надявам се да съм бил полезен с отговора.

Здравейте, Много Благодаря за изчерпателният и полезен отговор. Мисля, че първият вариант ще бъде използван от мен. :)


Вашият отговор

Запиши се в Аула

или
Вашият имейл е защитен при нас.