Страницы: 1
RSS
Разделение текста из 1 ячейки на несколько
 
помогите разделить столбец
вот пример текста
1. hiend1_masser - 1 ШТ по цене 5,76 на сумму 5,76
2. hiend2_masser - 1 ШТ по цене 9,66 на сумму 9,66
3. hiend51_masser - 2 ШТ по цене 6,54 на сумму 13,08

надо чтобы получилось
/ 1. hiend1    /   masser    / 1  /   5,76
/ значит новая ячейка
 
4 формулы:
=ЛЕВСИМВ(A2;ПОИСК("_";A2)-1)
=ПСТР(A2;ПОИСК("_";A2)+1;ПОИСК("-";A2)-ПОИСК("_";A2)-2)
=--ПСТР(A2;ПОИСК("-";A2)+2;ПОИСК("ШТ";A2)-ПОИСК("-";A2)-2)
=--ПСТР(A2;ПОИСК("сумму";A2)+6;99)
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
работает спс
только непонятно как ))))
 
Посмотрите каждую формулу через инструмент Вычислить формулу.
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
а можно както доработать если встечаються тире то не работает
 1. 200-0040-0027_TIRAKER - 1 ШТ по цене 69 на сумму 69
 
Вариант через Power Query
Правой кнопкой по таблице- обновить - будет выводить новые данные.

Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Столбец1", type text}}),
    #"Разделить столбец по разделителю" = Table.SplitColumn(#"Измененный тип", "Столбец1", Splitter.SplitTextByEachDelimiter({"_"}, QuoteStyle.Csv, false), {"Столбец1.1", "Столбец1.2"}),
    #"Измененный тип1" = Table.TransformColumnTypes(#"Разделить столбец по разделителю",{{"Столбец1.1", type text}, {"Столбец1.2", type text}}),
    #"Разделить столбец по разделителю1" = Table.SplitColumn(#"Измененный тип1", "Столбец1.2", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), {"Столбец1.2.1", "Столбец1.2.2", "Столбец1.2.3", "Столбец1.2.4", "Столбец1.2.5", "Столбец1.2.6", "Столбец1.2.7", "Столбец1.2.8", "Столбец1.2.9", "Столбец1.2.10"}),
    #"Измененный тип2" = Table.TransformColumnTypes(#"Разделить столбец по разделителю1",{{"Столбец1.2.1", type text}, {"Столбец1.2.2", type text}, {"Столбец1.2.3", Int64.Type}, {"Столбец1.2.4", type text}, {"Столбец1.2.5", type text}, {"Столбец1.2.6", type text}, {"Столбец1.2.7", type number}, {"Столбец1.2.8", type text}, {"Столбец1.2.9", type text}, {"Столбец1.2.10", type number}}),
    #"Удаленные столбцы" = Table.RemoveColumns(#"Измененный тип2",{"Столбец1.2.2", "Столбец1.2.4", "Столбец1.2.5", "Столбец1.2.6", "Столбец1.2.8", "Столбец1.2.9", "Столбец1.2.10"})
in
    #"Удаленные столбцы"
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Правой кнопкой по таблице- обновить -
пишет ошибка подключения источника данных
 
У вас какая версия Excel?
Вот горшок пустой, он предмет простой...
 
Пробуйте:
=ПСТР(A5;ПОИСК("_";A5)+1;ПОИСК(" - ";A5)-ПОИСК("_";A5)-1)
=--ПСТР(A5;ПОИСК(" - ";A5)+2;ПОИСК("ШТ";A5)-ПОИСК(" - ";A5)-2)
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
2010 версия
 
Можно через UDF от Дж.Уокенбаха
Код
Function ExtractElement(Txt, n, Separator) As String
'Возвращает n-й элемент текстовой строки Txt, где элементы разделены указанным разделителем Separator
    Dim AllElements As Variant
    AllElements = Split(Txt, Separator)
    ExtractElement = AllElements(n - 1)
End Function

Умело комбинируя с встроенными функциями получим нужный результат (варианты использования - в файле).
Кому решение нужно - тот пример и рисует.
 
Цитата
fedsum написал:
а можно както доработать если встечаються тире
Можно
Код
=ПСТР(A5;ПОИСК("_";A5)+1;ПОИСК("-";A5;ПОИСК("_";A5)+1)-ПОИСК("_";A5)-2)
=--ПСТР(A5;ПОИСК("-";A5;ПОИСК("_";A5)+1)+2;ПОИСК("ШТ";A5)-ПОИСК("-";A5;ПОИСК("_";A5)+1)-2)

Но формула опять не будет работать если появятся тире после подчеркивания и между первым тире, которое у вас указано в примере перед словом ШТ.
Обратите внимание, что это формула для строки №5
Изменено: PooHkrd - 27.03.2018 15:50:48
Вот горшок пустой, он предмет простой...
 
спс
 
 1. 200-0040-0027_TIRAKER - 1 ШТ по цене 69 на сумму 69

а как выдернуть не сумму а цену
=--ПСТР(A2;ПОИСК("сумму";A2)+6;99)
 
подскажите еще
Код
=ЗАМЕНИТЬ(A31;НАЙТИ(" руб";A31;4);4;""   =ЗАМЕНИТЬ(A31;НАЙТИ(".";A31;1);1;","    
как это объединить в одну функцию чтобы было в 1 ячейке
то есть ищем вначале точку меняем ее на запятую потом ищем руб и меняем на пустоту
 
Вопрос не по теме
 
1.  A61-51605-99_INEZ Про ГЦ   1 из 1 по цене 52,01 на сумму 52,01.
2.  1486UB_CROEO Слик    1 из 1 по цене 5 на сумму 5.

help
а как это разделить
а то тут нету -   и формула выше не работает
и цена 5 без дроби тоже не работает

заранее спасбо
 
fedsum, изучайте — это базовый урок для подобной темы
Изменено: Jack Famous - 11.04.2018 23:46:35
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1
Наверх