Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Выбрать из текста формулами - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Выбрать из текста формулами
ExcelDK Дата: Среда, 21.01.2026, 12:58 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 127
Репутация: 8 ±
Замечаний: 0% ±

2010
Здравствуйте, уважаемые знатоки!
Помогите пожалуйста, нужны универсальные и лаконичные формулы.
Я в общем справился, но такого нагородил, сам в шоке, формулы получились громоздкими и не читаемыми.
Может можно проще? Буду рад любой помощи.
Есть 6 типов данных, в файле столбец "Наименование", необходимо из этих данных формулами вытащить: №, Длина, Ширина, Толщина, S(м2)
В файле показал как должно получаться.
Наименования будут различной длины, далее 6 типов масок, вот из них необходимо выбрать.
К сообщению приложен файл: 4290551.xlsx (16.3 Kb)


Сообщение отредактировал ExcelDK - Среда, 21.01.2026, 13:04
 
Ответить
СообщениеЗдравствуйте, уважаемые знатоки!
Помогите пожалуйста, нужны универсальные и лаконичные формулы.
Я в общем справился, но такого нагородил, сам в шоке, формулы получились громоздкими и не читаемыми.
Может можно проще? Буду рад любой помощи.
Есть 6 типов данных, в файле столбец "Наименование", необходимо из этих данных формулами вытащить: №, Длина, Ширина, Толщина, S(м2)
В файле показал как должно получаться.
Наименования будут различной длины, далее 6 типов масок, вот из них необходимо выбрать.

Автор - ExcelDK
Дата добавления - 21.01.2026 в 12:58
_Boroda_ Дата: Среда, 21.01.2026, 14:10 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16983
Репутация: 6665 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
ТАк нужно?
Код
=СЖПРОБЕЛЫ(ЛЕВБ(ПРАВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ($B4;" /";" /");"х ";);" ";ПОВТОР(" ";999));999*(6-СЧЁТЗ($C$3:C$3)));999))

Для чисел с -- после равно
К сообщению приложен файл: 4290551_1.xlsx (16.3 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТАк нужно?
Код
=СЖПРОБЕЛЫ(ЛЕВБ(ПРАВБ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ($B4;" /";" /");"х ";);" ";ПОВТОР(" ";999));999*(6-СЧЁТЗ($C$3:C$3)));999))

Для чисел с -- после равно

Автор - _Boroda_
Дата добавления - 21.01.2026 в 14:10
ExcelDK Дата: Среда, 21.01.2026, 14:17 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 127
Репутация: 8 ±
Замечаний: 0% ±

2010
_Boroda_, спасибо большое! Ваши формулы как братья близнецы, действительно универсальные и лаконичные.
Ещё и на лишние пробелы не реагируют, за это отдельное спасибо!)


Сообщение отредактировал ExcelDK - Среда, 21.01.2026, 14:51
 
Ответить
Сообщение_Boroda_, спасибо большое! Ваши формулы как братья близнецы, действительно универсальные и лаконичные.
Ещё и на лишние пробелы не реагируют, за это отдельное спасибо!)

Автор - ExcelDK
Дата добавления - 21.01.2026 в 14:17
msi2102 Дата: Среда, 21.01.2026, 15:31 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 467
Репутация: 139 ±
Замечаний: 0% ±

Excel 2019
Ещё вариант
для наименования:
[vba]
Код
=ПОДСТАВИТЬ(ФИЛЬТР.XML("<t><s>"&ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ($B4);" /";"/");" х ";" ");" ";"</s><s>")&"</s></t>";"//s[last()-"&7-СТОЛБЕЦ(C$3)&"]");"/";" /")
[/vba]

Для остальных параметров вставить в D4 и протянуть вправо и вниз:
[vba]
Код
=ФИЛЬТР.XML("<t><s>"&ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ($B4);" х "; " ");" ";"</s><s>")&"</s></t>";"//s[last()-"&7-СТОЛБЕЦ(D$3)&"]")
[/vba]

можно ещё построчно массивной
[vba]
Код
=ТРАНСП(ФИЛЬТР.XML("<t><s>"&ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ($B4);" х "; " ");" ";"</s><s>")&"</s></t>";"//s[position()>last()-4]"))
[/vba]
К сообщению приложен файл: 8943869.xlsx (17.2 Kb)


Сообщение отредактировал msi2102 - Среда, 21.01.2026, 16:15
 
Ответить
СообщениеЕщё вариант
для наименования:
[vba]
Код
=ПОДСТАВИТЬ(ФИЛЬТР.XML("<t><s>"&ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ($B4);" /";"/");" х ";" ");" ";"</s><s>")&"</s></t>";"//s[last()-"&7-СТОЛБЕЦ(C$3)&"]");"/";" /")
[/vba]

Для остальных параметров вставить в D4 и протянуть вправо и вниз:
[vba]
Код
=ФИЛЬТР.XML("<t><s>"&ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ($B4);" х "; " ");" ";"</s><s>")&"</s></t>";"//s[last()-"&7-СТОЛБЕЦ(D$3)&"]")
[/vba]

можно ещё построчно массивной
[vba]
Код
=ТРАНСП(ФИЛЬТР.XML("<t><s>"&ПОДСТАВИТЬ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ($B4);" х "; " ");" ";"</s><s>")&"</s></t>";"//s[position()>last()-4]"))
[/vba]

Автор - msi2102
Дата добавления - 21.01.2026 в 15:31
ExcelDK Дата: Среда, 21.01.2026, 16:03 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 127
Репутация: 8 ±
Замечаний: 0% ±

2010
msi2102, и Вам большое спасибо!
Оценить всей красоты, к сожалению не могу, т.к. мой 2010 эксель не поддерживает такие формулы.
 
Ответить
Сообщениеmsi2102, и Вам большое спасибо!
Оценить всей красоты, к сожалению не могу, т.к. мой 2010 эксель не поддерживает такие формулы.

Автор - ExcelDK
Дата добавления - 21.01.2026 в 16:03
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2026 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!