Страницы: 1
RSS
Извлечь строку текста из ячейки
 
Доброго времени суток, Господа!

необходимо извлечь из ячейки с несколькими строками извлечь определенную строчку, с постоянным текстом в начале строки и меняющиеся значения в конце строки. как это можно сделать формулой, если возможно ну или макросом, на крайний случай.

Бессмысленно осмысливать смысл неосмысленными мыслями.
 
Для такого примера можно так
Код
=ПСТР(A2;ПОИСК("013";A2)-5;(ПОИСК("722";A2)-5)-(ПОИСК("013";A2)-5))
Согласие есть продукт при полном непротивлении сторон
 
Разогнать по столбам, оставить третий.
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
Sanja, такая формула подходит только для тех ячеек, где есть "722", нельзя ли ее адаптировать к "801" и "811"? Эти значения всегда всегда присутствуют в ячейках.
и если есть возможность расшифровать формулу, что в какой момент она делает, что означает "-5"? если можно. Я работаю с "ВПР" и "ГПР", и их я понимаю, а тут запутался...
Цитата
Z написал: Разогнать по столбам, оставить третий.
Это конечно вариант, только в разных ячейках всегда разное количество строк, и нужная строка не всегда третья...

Бессмысленно осмысливать смысл неосмысленными мыслями.
 
Цитата
ivan31888 написал: в разных ячейках всегда разное количество строк, и нужная строка не всегда третья
ну это у вас, а у нас в примере третья притом всегда
Лень двигатель прогресса, доказано!!!
 
=ЛЕВСИМВ(пр;НАЙТИ(СИМВОЛ(10);пр)-1)
пр=ПСТР(Лист1!A2;НАЙТИ("LIV: 013";Лист1!A2);999)
Живи и дай жить..
 
Вариант цифрой задаем после какого переноса вытащить текст, 0 -тянем первую строку и соответственно 1-вторая и тд и тп
Лень двигатель прогресса, доказано!!!
 
Цитата
написал:
Вариант цифрой задаем после какого переноса вытащить текст, 0 -тянем первую строку и соответственно 1-вторая и тд и тп
Очень нужна формула, которая по номеру строки вытаскивает информацию из ячейки, в которой несколько строк с разделителями строк.

В указанном файле крутая формула. Попробовал применить ее в работе. Но выяснилось что почему то в некоторых строках информация вытаскивается не полностью а обрезается на конце. Попробовал изменить параметр формы ПСТР увеличив число знаков но не помогло. В моем случае не важно содержание той или информации в строке  Важно именно по номеру выдергивать из ячейки только ту или иную строку. Буду признателен за помощь

 
Алексей Кузнецов,  ну вы хоть свой пример приложите, если уж свою тему не создали. Этой уже почти 10 лет скоро.
По вопросам из тем форума, личку не читаю.
 

БМВ, прошу прощения, что не совсем корректно  сформулировал вопрос. Постараюсь исправиться. Файл прилагаю

Очень нужна формула, которая по номеру строки вытаскивает информацию из ячейки, в которой несколько строк с разделителями строк.  Файл во вложении

Примечание

Вот тут найдено решение

https://ru.extendoffice.com/excel/formulas/excel-extract-multiple-lines-from-a-cell.html#a1

Но тут формулы написана на английском экселе. Путем сопоставления формул я их перевел на русские формулы, но формула все равно не работает

Не могли бы Вы помочь?

 
Старыми методами это просто так
=TRIM(MID(SUBSTITUTE(SUBSTITUTE(CHAR(10)&$A4;CHAR(10);REPT(" ";LEN($A4));C$2);CHAR(10);REPT(" ";LEN(A$4));C$2);LEN($A4);LEN($A4)))
Почему так , а не просто подстановкой
=TRIM(MID(SUBSTITUTE(CHAR(10)&$A5;CHAR(10);REPT(" ";999));999*C$2;999))
по тому что в зависимости от содержания и длинны , можно нарваться на слишком длинную строку.
Но в целом будет работать и так и сяк
По вопросам из тем форума, личку не читаю.
 
БМВ. Все работает! Круть! Это круть! Спасибо Вам!!!!!!!!!!
 
Здравствуйте!
Вариант PQ

Скрытый текст
Всего доброго!  )
 
Здравствуйте всем!
Как из строк вытащить только нужную мне информацию. Там разные позиции и количество данные отличается в каждой строке. И после каждого артикула  (после цифры) ставилась "запятая" (кроме последнего артикула).
Пример по некоторой номенклатуре подготовил.
Буду признателен за идеи и советы.
 
Здравствуйте.
Цитата
написал:
Как из строк вытащить только нужную мне информацию
А какая информация нужна? Из примера не понятно. Покажите как есть и как надо.
 
Здравствуйте.
В описании нужно будет указать наименование только моделей автотранспорта (прикреплен файл)

то есть выдернуть из первого столбца только модели номенклатуры автозапчасти, причем указать (в другом столбце) в идеале FOTON 1041, FOTON 1049A, FOTON 1051, FOTON 1061, FOTON 1093, FOTON 1099 (лучше перечисление моделей через запятую). Некоторые технические характеристики (например - (D25L130) - заносить не надо
Изменено: comandante1959 - 15.06.2025 20:30:33
 
"Новосельцев, ваше дело труба" ;)))
Цитата
comandante1959 написал:
выдернуть из первого столбца только модели номенклатуры автозапчасти, причем указать (в другом столбце) в идеале FOTON 1041, FOTON 1049A, FOTON 1051, FOTON 1061, FOTON 1093, FOTON 1099 (лучше перечисление моделей через запятую). Некоторые технические характеристики (например - (D25L130) - заносить не надо
если у вас номенклатуры огромное количество, то я вам сочувствую... поск. данные по строчкам не поддаются классификации (с моей кочки зрения)  для распознавания. К примеру как сказать машине, что "(D25L130) - заносить не надо"?

решение полуавтоматом с применением ручного труда
1. выдергиваем строчку со слова "FOTON"
Код
=ПСТР(A6;НАЙТИ("FOTON";A6);9999)
2. Копируем - вставляем значения
3 Полученное редактируем (выкидываем ненужное) оставляем пробелы м/у номерами. К слову, у вас имеются склееные номера
4. В отредактированной строке заменяем пробелы на ", FOTON "
Код
=ПСТР(ПОДСТАВИТЬ(B2;" ";", FOTON ");8;9999)
5. Окончательно редактируем результат, убираем ненужное если осталось.
Все что не ФОТОН правится на не ФОТОН
все же лучше чем никак...  8)
Скрытый текст
 
Спасибо.
Согласен, очень много и постоянно надо настраивать вручную
 
Здравствуйте!
Помогите вытащить в соседний столбец код товара. Иными словами отделить код товара справа в строке до пробела.
 
Цитата
вытащить в соседний столбец код товара
UDF
Код
Function GetNomer(stroka As String)
Dim arr
  arr = Split(stroka)
  GetNomer = arr(UBound(arr))
End Function
 
А можно это сделать не макросом а через функции?
 
Holms, массивная
=ПСТР(A1;НАИБОЛЬШИЙ(ЕСЛИ(ЕСЛИОШИБКА(КОДСИМВ(ПСТР(A1;СТРОКА(H:H);1));0)=32;СТРОКА(H:H);0);1) + 1;99999)
 
Дай Бог тебе здоровья, добрый Человек!!!
 
Holms,
=ТЕКСТПОСЛЕ(A1;" ";-1)
 
Здравствуйте.
Если версия Excel 2016 или выше, то можно без формул получить желаемый результат, воспользовавшись "Мгновенным заполнением" (Ctrl+E)
Или ещё вариант массивной формулой
Код
=ПРАВБ(A1;(ПОИСКПОЗ(" ";ПСТР(A1;ДЛСТР(A1)-СТРОКА($E$1:$E$255);1);0)))
Изменено: gling - 26.06.2025 22:05:11
 
Код
=ФИЛЬТР.XML("<j><i>"&ПОДСТАВИТЬ(A2;" ";"</i><i>")&"</i></j>";"//i[last()]")
 
=TRIM(RIGHT(SUBSTITUTE(A1;" ";REPT(" ";15));15))
 
=СЖПРОБЕЛЫ(ПРАВСИМВ(ПОДСТАВИТЬ(A1;" ";ПОВТОР(" ";100));100))
Страницы: 1
Читают тему
Наверх