Страницы: 1
RSS
Способы разделения текста и числового значения, находящихся в одной ячейке
 
Доброго времени суток!
Скажите пожалуйста, есть вот такая ситуация - длинная книга Прайс, в которой нет форматирования. То есть Название услуги и её стоимость в одной ячейке (из-за копирования с Word'a.

"1.   5.3 Разработка индивидуальной схемы лечения 300,00 р."

Вот в таком неподобающем виде. Что нужно сделать:
1) Удалить  "1.   5.3 ",
2) оставшуюся часть с названием услуги и её стоимостью разделить на 2 ячейки.

Для этого нужно писать макрос? Или можно обойтись каким-нибудь другим инструментом?
Как это сделать?
Изменено: rustez - 02.02.2017 23:18:14
 
Можно и так и так, приложите файл с примером. И еще можно - текст по столбцам
Изменено: _Igor_61 - 02.02.2017 22:29:42
 
Спасибо, добавил в главное сообщение!
 
=ПСТР(A1;10;ДЛСТР(A1)-19)
=ПРАВСИМВ(A1;9)
 
Код
Sub Raznesti()
Dim i As Long
Dim iLastRow As Long
Dim arr
Dim j As Integer
 iLastRow = Cells(Rows.Count, 1).End(xlUp).Row
  For i = 1 To iLastRow
    arr = Split(Split(Cells(i, 1), " ", 3)(2), " ")
    For j = 0 To UBound(arr) - 2
      Cells(i, 2) = Cells(i, 2) & arr(j) & " "
    Next
        For j = UBound(arr) - 1 To UBound(arr)
         Cells(i, 3) = Cells(i, 3) & arr(j) & " "
       Next
  Next
End Sub
 
Ну и я тоже втиснусь  :)
Код
=ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;ЛЕВСИМВ(A1;9);"");ПРАВСИМВ(A1;10);"")
Код
=ПРАВСИМВ(A1;10)
 
Большое спасибо за ответы!
Затестил все предложенные варианты, теперь думаю, что из 3 использовать :)

Из ответов vikttur,  и _Igor_61, понял, что можно сделать проще,а не углубляться)
А макрос от Kuzmich, показал, что стоит углубляться, если хочешь решить сложные задачи  :D Однозначно сохраню себе макрос,  в работе ещё не раз пригодиться!

Ещё раз, всем большое спасибо!  8)
 
В ячейке есть текст + числа. Нужно отделить текст от чисел, т.е. разнести их в разные столбцы. Причем, текст может состоять из 1, из 2, 3 и т.д. слов. От текста цифры всегда отделены пробелом. Пример во вложении
 
Junior86,
Код
Sub test()
Dim arr(), i&, lrow&, itxt
lrow = Range("a" & Rows.Count).End(xlUp).Row
arr = Range([a1], Cells(lrow, 2)).Value
For i = 1 To UBound(arr)
    itxt = Split(arr(i, 1), " ")(UBound(Split(arr(i, 1), " ")))
    arr(i, 1) = Left(Trim(arr(i, 1)), Len(Trim(arr(i, 1))) - Len(itxt) - 1)
    arr(i, 2) = itxt
Next i
Range("a1").Resize(UBound(arr), 2) = arr
End Sub
Изменено: Nordheim - 29.01.2018 16:23:11
"Все гениальное просто, а все простое гениально!!!"
 
Исходный текст в А1.
В В1 имя:
=ЛЕВБ(A1;МИН(ПОИСК({1;2;3;4;5;6;7;8;9;0};A1&1234567890))-2)
Число:
=--ПОДСТАВИТЬ(A1;B1;)
 
Спасибо всем!!!
 
Друзья, приветствую Всех!

Помогите пожалуйста отделить Числа от Текста, при этом мне нужны числа в одном столбце и текст в другом, файл прилагается!

Надеюсь на Ваше понимание!!!
 
FINSAD, привет. Формула массива. Вводить тремя клавишами Ctrl+Shift+Enter
=ПСТР(A1;МИН(ЕСЛИОШИБКА(ПОИСК(СТРОКА($1:$10)-1;A1);""));12)
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Bema, искренне благодарю Вас за помощь!!!
Всё получилось!!!
 
вариант UDF в столбцах I J
Код
 Function bbb$(text)
With CreateObject("VBScript.RegExp"): .Pattern = " \d+,\d+ р\.": bbb = Trim(.Execute(text)(0))
End With
End Function
Код
Function aaa$(text)
With CreateObject("VBScript.RegExp"): .Pattern = "\d+\.   \d+\.\d+ ": aaa = .Replace(text, "")
  .Pattern = " \d+,\d+ р\.": aaa = Trim(.Replace(aaa, ""))
End With
End Function
Изменено: кузя1972 - 18.03.2018 21:55:00
Страницы: 1
Наверх