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

Вход

Регистрация

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

 

= Мир MS Excel/Как вытащить значение из текста - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как вытащить значение из текста (Формулы/Formulas)
Как вытащить значение из текста
dorik Дата: Четверг, 05.05.2016, 14:14 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Ребят помогите. Прикрепил фаил.
Есть строка, нужно вытащить в отдельную ячейку (в ячейку B ) число перед словом off или on. Число межет быть и 3 и 653.
К сообщению приложен файл: 7319435.xlsx(8Kb)


Сообщение отредактировал dorik - Четверг, 05.05.2016, 14:14
 
Ответить
СообщениеРебят помогите. Прикрепил фаил.
Есть строка, нужно вытащить в отдельную ячейку (в ячейку B ) число перед словом off или on. Число межет быть и 3 и 653.

Автор - dorik
Дата добавления - 05.05.2016 в 14:14
buchlotnik Дата: Четверг, 05.05.2016, 14:24 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2049
Репутация: 613 ±
Замечаний: 0% ±

2010, 2013, 2016 RUS / ENG
намонстрячил:
Код
=--ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"""";"");",";ПОВТОР(" ";10));ЕСЛИ(ЕОШ(ПОИСК("On";ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"""";"");",";ПОВТОР(" ";10))));ПОИСК("Off";ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"""";"");",";ПОВТОР(" ";10)));ПОИСК("On";ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"""";"");",";ПОВТОР(" ";10))))-10;10)
К сообщению приложен файл: 7270917.xlsx(8Kb)


платная помощь:
ЯД: 410012595572239; WM: 311017577133
buchlotnik@mail.ru
 
Ответить
Сообщениенамонстрячил:
Код
=--ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"""";"");",";ПОВТОР(" ";10));ЕСЛИ(ЕОШ(ПОИСК("On";ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"""";"");",";ПОВТОР(" ";10))));ПОИСК("Off";ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"""";"");",";ПОВТОР(" ";10)));ПОИСК("On";ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"""";"");",";ПОВТОР(" ";10))))-10;10)

Автор - buchlotnik
Дата добавления - 05.05.2016 в 14:24
SLAVICK Дата: Четверг, 05.05.2016, 14:24 | Сообщение № 3
Группа: Модераторы
Ранг: Старожил
Сообщений: 1849
Репутация: 614 ±
Замечаний: 0% ±

2007,2010,2013,2016
Так?
Код
=МАКС(ЕСЛИОШИБКА(--ПРАВБ(ЛЕВБ(A1;ЕСЛИОШИБКА(ПОИСК("on";A1;2);ПОИСК("off";A1;1))-2);{1;2;3;4});0))

Формула массива:
вводится ctrl alt enter

ЗЫ забыл сказать - формула вытянет макс. 4-х значное число если нужно больше - добавьте количество в:
{1;2;3;4}... например {1;2;3;4;5;6}... - 6-ти значное. :D
К сообщению приложен файл: -7319435.xlsx(8Kb)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Четверг, 05.05.2016, 14:33
 
Ответить
СообщениеТак?
Код
=МАКС(ЕСЛИОШИБКА(--ПРАВБ(ЛЕВБ(A1;ЕСЛИОШИБКА(ПОИСК("on";A1;2);ПОИСК("off";A1;1))-2);{1;2;3;4});0))

Формула массива:
вводится ctrl alt enter

ЗЫ забыл сказать - формула вытянет макс. 4-х значное число если нужно больше - добавьте количество в:
{1;2;3;4}... например {1;2;3;4;5;6}... - 6-ти значное. :D

Автор - SLAVICK
Дата добавления - 05.05.2016 в 14:24
_Boroda_ Дата: Четверг, 05.05.2016, 14:32 | Сообщение № 4
Группа: Модераторы
Ранг: Экселист
Сообщений: 9377
Репутация: 3950 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
SLAVICK, с языка прямо снял
Код
=МАКС(ЕСЛИОШИБКА(--ПРАВБ(ЛЕВБ(A1;ЕСЛИОШИБКА(ПОИСК(" on";A1);ПОИСК(" off";A1)));{1;2;3;4});))

Ну ладно, тогда вот так еще (немассивная
Код
=--ПРАВБ(ПОДСТАВИТЬ(ЗАМЕНИТЬ(A1;ЕСЛИОШИБКА(ПОИСК(" on";A1);ПОИСК(" off";A1));99;);"""";"    ");4)

Код
=--ПРАВБ(ПОДСТАВИТЬ(ЛЕВБ(A1;ЕСЛИОШИБКА(ПОИСК(" on";A1);ПОИСК(" off";A1)));"""";"    ");4)

Код
=--ПРАВБ(ПОДСТАВИТЬ(ЛЕВБ(A1;ПОИСК(" o";A1));"""";"  ");4)

Последнюю лучше так
Код
=--ПРАВБ(ПОДСТАВИТЬ(ЛЕВБ(A1;НАЙТИ(" O";A1));"""";"  ");4)
К сообщению приложен файл: 7319435_1.xlsx(9Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеSLAVICK, с языка прямо снял
Код
=МАКС(ЕСЛИОШИБКА(--ПРАВБ(ЛЕВБ(A1;ЕСЛИОШИБКА(ПОИСК(" on";A1);ПОИСК(" off";A1)));{1;2;3;4});))

Ну ладно, тогда вот так еще (немассивная
Код
=--ПРАВБ(ПОДСТАВИТЬ(ЗАМЕНИТЬ(A1;ЕСЛИОШИБКА(ПОИСК(" on";A1);ПОИСК(" off";A1));99;);"""";"    ");4)

Код
=--ПРАВБ(ПОДСТАВИТЬ(ЛЕВБ(A1;ЕСЛИОШИБКА(ПОИСК(" on";A1);ПОИСК(" off";A1)));"""";"    ");4)

Код
=--ПРАВБ(ПОДСТАВИТЬ(ЛЕВБ(A1;ПОИСК(" o";A1));"""";"  ");4)

Последнюю лучше так
Код
=--ПРАВБ(ПОДСТАВИТЬ(ЛЕВБ(A1;НАЙТИ(" O";A1));"""";"  ");4)

Автор - _Boroda_
Дата добавления - 05.05.2016 в 14:32
buchlotnik Дата: Четверг, 05.05.2016, 14:36 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 2049
Репутация: 613 ±
Замечаний: 0% ±

2010, 2013, 2016 RUS / ENG
или регуляркой: [vba]
Код
Function on_off(t$)
    With CreateObject("VBScript.regexp")
    .Pattern = "\d+(?=\ On|\ Off)"
    Set obj = .Execute(t)
    on_off = --obj.Item(0)
    End With
End Function
[/vba]
К сообщению приложен файл: 7319435.xlsm(13Kb)


платная помощь:
ЯД: 410012595572239; WM: 311017577133
buchlotnik@mail.ru
 
Ответить
Сообщениеили регуляркой: [vba]
Код
Function on_off(t$)
    With CreateObject("VBScript.regexp")
    .Pattern = "\d+(?=\ On|\ Off)"
    Set obj = .Execute(t)
    on_off = --obj.Item(0)
    End With
End Function
[/vba]

Автор - buchlotnik
Дата добавления - 05.05.2016 в 14:36
buchlotnik Дата: Четверг, 05.05.2016, 16:09 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 2049
Репутация: 613 ±
Замечаний: 0% ±

2010, 2013, 2016 RUS / ENG


платная помощь:
ЯД: 410012595572239; WM: 311017577133
buchlotnik@mail.ru
 
Ответить
Сообщениекросс

Автор - buchlotnik
Дата добавления - 05.05.2016 в 16:09
sv2014 Дата: Четверг, 05.05.2016, 22:31 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 156
Репутация: 37 ±
Замечаний: 0% ±

Excel 2013
dorik, добрый вечер,еще вариант функции с регуляркой в столбце B

[vba]
Код
Function uuu%(t$)
  With CreateObject("VBScript.RegExp"): .Pattern = "(\d+) O(?:ff|n)"
     uuu = .Execute(t)(0).Submatches(0)
  End With
End Function
[/vba]
К сообщению приложен файл: example_5_05_20.xls(29Kb)
 
Ответить
Сообщениеdorik, добрый вечер,еще вариант функции с регуляркой в столбце B

[vba]
Код
Function uuu%(t$)
  With CreateObject("VBScript.RegExp"): .Pattern = "(\d+) O(?:ff|n)"
     uuu = .Execute(t)(0).Submatches(0)
  End With
End Function
[/vba]

Автор - sv2014
Дата добавления - 05.05.2016 в 22:31
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Как вытащить значение из текста (Формулы/Formulas)
Страница 1 из 11
Поиск:

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