Как вытащить значение из текста
dorik
Дата: Четверг, 05.05.2016, 14:14 |
Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация:
0
±
Замечаний:
0% ±
Excel 2010
Ребят помогите. Прикрепил фаил. Есть строка, нужно вытащить в отдельную ячейку (в ячейку B ) число перед словом off или on. Число межет быть и 3 и 653.
Ребят помогите. Прикрепил фаил. Есть строка, нужно вытащить в отдельную ячейку (в ячейку B ) число перед словом off или on. Число межет быть и 3 и 653. dorik
Сообщение отредактировал dorik - Четверг, 05.05.2016, 14:14
Ответить
Сообщение Ребят помогите. Прикрепил фаил. Есть строка, нужно вытащить в отдельную ячейку (в ячейку B ) число перед словом off или on. Число межет быть и 3 и 653. Автор - dorik Дата добавления - 05.05.2016 в 14:14
buchlotnik
Дата: Четверг, 05.05.2016, 14:24 |
Сообщение № 2
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация:
929
±
Замечаний:
20% ±
2010, 2013, 2016 RUS / ENG
намонстрячил: Код
=--ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"""";"");",";ПОВТОР(" ";10));ЕСЛИ(ЕОШ(ПОИСК("On";ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"""";"");",";ПОВТОР(" ";10))));ПОИСК("Off";ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"""";"");",";ПОВТОР(" ";10)));ПОИСК("On";ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"""";"");",";ПОВТОР(" ";10))))-10;10)
намонстрячил: Код
=--ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"""";"");",";ПОВТОР(" ";10));ЕСЛИ(ЕОШ(ПОИСК("On";ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"""";"");",";ПОВТОР(" ";10))));ПОИСК("Off";ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"""";"");",";ПОВТОР(" ";10)));ПОИСК("On";ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"""";"");",";ПОВТОР(" ";10))))-10;10)
buchlotnik
Ответить
Сообщение намонстрячил: Код
=--ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(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
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация:
766
±
Замечаний:
0% ±
2019
Так?Код
=МАКС(ЕСЛИОШИБКА(--ПРАВБ(ЛЕВБ(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-ти значное.
Так?Код
=МАКС(ЕСЛИОШИБКА(--ПРАВБ(ЛЕВБ(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-ти значное. SLAVICK
Иногда все проще чем кажется с первого взгляда.
Сообщение отредактировал 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-ти значное. Автор - SLAVICK Дата добавления - 05.05.2016 в 14:24
_Boroda_
Дата: Четверг, 05.05.2016, 14:32 |
Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16895
Репутация:
6612
±
Замечаний:
±
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)
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_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: 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
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация:
929
±
Замечаний:
20% ±
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]
или регуляркой: [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
Ответить
Сообщение или регуляркой: [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
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация:
929
±
Замечаний:
20% ±
2010, 2013, 2016 RUS / ENG
Ответить
sv2014
Дата: Четверг, 05.05.2016, 22:31 |
Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 226
Репутация:
61
±
Замечаний:
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]
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
Ответить
Сообщение 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