Новости:

Новая редакция правил форума: 2.4. Если вопрос или ответ содержится во вложенном файле, все-равно кратко описывайте в сообщении вопрос или суть решения. Это необходимо, чтобы тему можно было найти через поиск.

Главное меню

Как взять нужное переменное значение из текста?

Автор Виталий Медведев, 25.06.2015, 19:21

« назад - далее »

Виталий Медведев

Здравствуйте! Не могу разобраться как мне вытянуть из одной ячейки с текстом нужное мне слово и вставить его в другой столбик?
Пример:
Есть ячейка "I2" в которой содержится: length:210;width:450;height:600 (всё без пробелов) из всего этого текста, мне нужно выдернуть "210" и вставить в ячейку "U2" формулой. Естественно ПОИСК не подойдёт, так как в разных ячейках эти значения разные.
Помогите пожалуйста!

vikttur

Почему именно 210? Какие критерии или правила извлечения данных?

Ваш пример в файле Excel ускорит помощь.

Виталий Медведев

#2
210 я привёл как пример. То есть я с сайта делаю выгрузку и один столбец в этой выгрузке обозначает размеры: "length:длина;width:ширина;height:высота" для каждого товара.
Пример:
есть столбец size и под ним перечислены значения построчно
length:210;width:450;height:600
length:150;width:300;height:550
length:270;width:530;height:740
length:195;width:410;height:580


Так же есть отдельные столбцы length, width, height (три разных столбца), в которые и нужно вставить значения раздельно из столбца size (только цифры).
Должно получиться так:
(1 столбец)
length
210
150
270
195


(2 столбец)
width
450
300
530
410


(3 столбец)
height
600
550
740
580


А пример файла смогу скинуть только завтра((

IKor

посмотрите то ли это, что Вам нужно

Виталий Медведев

#4
Да, вроде бы оно, на работе попробую использовать эту формулу.
Спасибо Вам огромное за помощь!

А можете вкратце объяснить принцип работы данной формулы?
=VALUE(MID($A2;SEARCH(G$1;$A2;1)+LEN(G$1);SEARCH(H$1;$A2;1)-SEARCH(G$1;$A2;1)-LEN(G$1)-1))
Думаю, на основе её дальше разберусь))

vikttur

Паразитировал на файле IKor :)
Вариант:
=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ($A2;":";ПОВТОР(" ";50));";";ПОВТОР(" ";50));(СТОЛБЕЦ(A1)-1)*100+50;50))
Так как слова искомые извесны, их можно прописать в формуле. Меньше вычислений. Еще одно возможное упрощение: если числа всегда трехзначны, не нужно вычислять конец строки:
=ПСТР($A2;ПОИСК("length";$A2)+7;3)
Кстати, на примере последней формулы можно разобраться в работе формулы IKor

Виталий Медведев

#6
Кнопка цитирования не для ответа [МОДЕРАТОР]

Вот обещанный файл примера
В общем столбцы Box size (с размерами length:210;width:450;height:600) и Weight (вес 23.00) - то, откуда должны браться значения для столбца Features

В столбце Futeres прописан текст (описание) из которого сайт выдерает нужные данные.
Соответственно эти значения там должны указываться в квадратных скобках (пр. "Ширина (мм.): N[450];")

А значения не всегда могут быть трёхзначные, есть и двух, есть и четырёх

vikttur

Добавьте три столбца, в которых будут формулы для извлечения значений.
В столбце features формула сцепки:
="(Габариты) Ширина (мм.): N[" & C2 & "]; (Габариты) ...

Виталий Медведев

Да вот создавать дополнительные столбцы не хотелось бы((

В общем, поколдовав и поняв принцип работы формулы Ikor сделал это:

="(Габариты) Ширина (мм.): N["&MID(A2;SEARCH("length:";A2;1)+LEN("length:");SEARCH("width:";A2;1)-SEARCH("length:";A2;1)-LEN("length:")-1)&"]; (Габариты) Высота (мм.): N["&MID(A2;SEARCH("width:";A2;1)+LEN("width:");SEARCH("height:";A2;1)-SEARCH("width:";A2;1)-LEN("width:")-1)&"]; (Габариты) Длина (мм.): N["&RIGHT(A2;LEN(A2)-SEARCH("height:";A2;1)-LEN("height:")+1)&"]; (Габариты) Вес (кг.): N["&MID(B2;1;LEN(B2)-3)&"]"

vikttur

...+LEN("length:")...
Длина слова известна, нет необходимости вычислять дополнительно.

Виталий Медведев

Так правильнее?

="(Габариты) Ширина (мм.): N["&MID(A2;SEARCH("length:";A2;1)+7;SEARCH("width:";A2;1)-SEARCH("length:";A2;1)-8)&"]; (Габариты) Высота (мм.): N["&MID(A2;SEARCH("width:";A2;1)+6;SEARCH("height:";A2;1)-SEARCH("width:";A2;1)-7)&"]; (Габариты) Длина (мм.): N["&RIGHT(A2;LEN(A2)-SEARCH("height:";A2;1)-6)&"]; (Габариты) Вес (кг.): N["&MID(B2;1;LEN(B2)-3)&"]"

zs

=ЕСЛИ(ЕОШ(НАЙТИ(0;ПСТР(ПСТР(A1;НАЙТИ(2;A1);445);НАЙТИ(1;ПСТР(A1;НАЙТИ(2;A1);445));445))=2);"";210)