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

Вход

Регистрация

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

 

= Мир MS Excel/Формула для поиска слова от последнего пробела. - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Формула для поиска слова от последнего пробела. (Формулы/Formulas)
Формула для поиска слова от последнего пробела.
valermihali4 Дата: Пятница, 14.10.2016, 14:18 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 37
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Доброго дня. Подскажите пжлста формулу для поиска слова от последнего пробела назад
Вот строка: X: 2. КОНСТРУКТОРСКАЯ документация 2. Изделия 57. Шкафы индивидуальной разработки Детали 735312 Двери 735312.021-v1 Дверь.SLDPRT
Вот слово, которое должно найти.
Спасибо большое!
 
Ответить
СообщениеДоброго дня. Подскажите пжлста формулу для поиска слова от последнего пробела назад
Вот строка: X: 2. КОНСТРУКТОРСКАЯ документация 2. Изделия 57. Шкафы индивидуальной разработки Детали 735312 Двери 735312.021-v1 Дверь.SLDPRT
Вот слово, которое должно найти.
Спасибо большое!

Автор - valermihali4
Дата добавления - 14.10.2016 в 14:18
Pelena Дата: Пятница, 14.10.2016, 14:59 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19176
Репутация: 4417 ±
Замечаний: ±

Excel 365 & Mac Excel
Какое же всё-таки слово должно найтись?
Лучше показать в файле несколько вариантов данных


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеКакое же всё-таки слово должно найтись?
Лучше показать в файле несколько вариантов данных

Автор - Pelena
Дата добавления - 14.10.2016 в 14:59
valermihali4 Дата: Пятница, 14.10.2016, 15:15 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 37
Репутация: 0 ±
Замечаний: 20% ±

Excel 2007
Вот то что я делаю
К сообщению приложен файл: __.xlsx (13.0 Kb)
 
Ответить
СообщениеВот то что я делаю

Автор - valermihali4
Дата добавления - 14.10.2016 в 15:15
Gustav Дата: Пятница, 14.10.2016, 15:29 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2731
Репутация: 1132 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Если в A1 строка:
[vba]
Код
X: 2. КОНСТРУКТОРСКАЯ документация 2. Изделия 57. Шкафы индивидуальной разработки Детали 735312 Двери 735312.021-v1 Дверь.SLDPRT
[/vba]
То следующая формула
Код
=СЖПРОБЕЛЫ(ПРАВСИМВ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A1);" ";ПОВТОР(" ";100));200))

вернет желаемое (как я понял):
[vba]
Код
735312.021-v1 Дверь.SLDPRT
[/vba]
Формула предполагает, что эта строка не должна быть длиннее 100 символов. Если вдруг надо больше, то тогда настраиваем константы 100 и 200


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеЕсли в A1 строка:
[vba]
Код
X: 2. КОНСТРУКТОРСКАЯ документация 2. Изделия 57. Шкафы индивидуальной разработки Детали 735312 Двери 735312.021-v1 Дверь.SLDPRT
[/vba]
То следующая формула
Код
=СЖПРОБЕЛЫ(ПРАВСИМВ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A1);" ";ПОВТОР(" ";100));200))

вернет желаемое (как я понял):
[vba]
Код
735312.021-v1 Дверь.SLDPRT
[/vba]
Формула предполагает, что эта строка не должна быть длиннее 100 символов. Если вдруг надо больше, то тогда настраиваем константы 100 и 200

Автор - Gustav
Дата добавления - 14.10.2016 в 15:29
Gustav Дата: Воскресенье, 01.08.2021, 22:01 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2731
Репутация: 1132 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
=СЖПРОБЕЛЫ(ПРАВСИМВ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A1);" ";ПОВТОР(" ";100));200))


В "Личных сообщениях" поступила просьба расшифровать смысл констант "100" и "200". Подумалось, что интересно будет многим - поэтому и отвечаю здесь.

Главная идея в набивании в строку кучи дополнительных пробелов заключается в том, что строка приобретает такой вид, когда деление строки на нужные части будет происходить безболезненно, в месте скопления многих пробелов, без риска потери значимых символов или слов. После выполнения нужного деления строки все лишние пробелы из образовавшихся подстрок легко удаляются при помощи функции СЖПРОБЕЛЫ.

Чтобы данный механизм отработал, необходимо соблюсти некоторые правила и ограничения. Так, число подставляемых пробелов должно быть не менее, чем в два раза больше длины самого длинного слова (это "моя" аксиома, никак не доказанная, но на практике работающая). Если принять максимальную длину слова равной 50 символов, то пробелов должно быть не менее 100. Думаю, это вполне разумное предположение, потому что слово из 50 символов еще надо поискать. Даже в названии блюда "хартенбраунгевратенштайзенгорбейстраут" из бородатого анекдота про колбаску (Гугл в помощь, если не слышали) всего 38 символов.

С константой "100" разобрались. Разберемся с константой "200". Поскольку по условиям топика нужно было извлечь из строки подстроку, содержащую два последних слова, то значение 200 представляет собой не что иное, как общее количество символов в двух словах максимальной длины (2 по 50) и в 100 пробелах между ними, т.е. 50 + 100 + 50 = 200. Даже если слова будут поменьше, скажем, по 20 символов, то, поскольку перед первым же словом из двух тоже будут добавлены 100 пробелов, то ПРАВСИМВ(..., 200) вернет строку, состоящую из: 60 пробелов + 20 символов 1-го слова + 100 пробелов + 20 символов 2-го слова = всего 200 символов. После сжатия пробелов в обоих случаях останутся два последних слова исходной строки, разделенные одним пробелом.

Константа 200 соответствует получению двух последних слов в строке. Если нужно извлечь только одно последнее слово (второе из "двух последних"), то, предполагая максимально возможную длину слова равной 50 символов, нужно будет извлечь именно 50 символов, т.е. на 150 (50 символов первого слова + 100 пробелов) меньше значения 200.

Очевидно, что именно с шагом 150 нужно задавать значения вместо "200" и для других количеств извлекаемых последних слов:
одно последнее - 50
два последних - 200
3 - 350
4 - 500
5 - 650
6 - 800
и т.д. (если надо :)

Если вас устроят другие значения вместо 50/100, например, 30/60, то ряд значений типа "200" может выглядеть по аналогии - от 30 с шагом 90:
одно - 30
два - 120
3 - 210
4 - 300
5 - 390
6 - 480
и т.д.


P.S. НЕТ! Запутался я что-то сам :( Всё оказалось гораздо проще - ряд состоит из значений, кратных количеству подменяемых пробелов:
Вместо "200" для других количеств извлекаемых последних слов нужно подставлять:
одно последнее - 100
два последних - 200
3 - 300
4 - 400
5 - 500
6 - 600
7 - 700
8 - 800
и т.д.
Извините, что первоначально ввёл в заблуждение.


[p.s.]И снова мимо! В общем, всё не так просто, оказывается... Буду ещё думать, но уже в другом сообщении - хватит это портить зачеркиваниями... Извините![/p.s.]

ЛИТЕРАТУРА:
1. http://www.excelworld.ru/forum/7-2804-1
2. http://www.excelworld.ru/forum/7-3093-1


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Воскресенье, 01.08.2021, 22:50
 
Ответить
Сообщение
=СЖПРОБЕЛЫ(ПРАВСИМВ(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(A1);" ";ПОВТОР(" ";100));200))


В "Личных сообщениях" поступила просьба расшифровать смысл констант "100" и "200". Подумалось, что интересно будет многим - поэтому и отвечаю здесь.

Главная идея в набивании в строку кучи дополнительных пробелов заключается в том, что строка приобретает такой вид, когда деление строки на нужные части будет происходить безболезненно, в месте скопления многих пробелов, без риска потери значимых символов или слов. После выполнения нужного деления строки все лишние пробелы из образовавшихся подстрок легко удаляются при помощи функции СЖПРОБЕЛЫ.

Чтобы данный механизм отработал, необходимо соблюсти некоторые правила и ограничения. Так, число подставляемых пробелов должно быть не менее, чем в два раза больше длины самого длинного слова (это "моя" аксиома, никак не доказанная, но на практике работающая). Если принять максимальную длину слова равной 50 символов, то пробелов должно быть не менее 100. Думаю, это вполне разумное предположение, потому что слово из 50 символов еще надо поискать. Даже в названии блюда "хартенбраунгевратенштайзенгорбейстраут" из бородатого анекдота про колбаску (Гугл в помощь, если не слышали) всего 38 символов.

С константой "100" разобрались. Разберемся с константой "200". Поскольку по условиям топика нужно было извлечь из строки подстроку, содержащую два последних слова, то значение 200 представляет собой не что иное, как общее количество символов в двух словах максимальной длины (2 по 50) и в 100 пробелах между ними, т.е. 50 + 100 + 50 = 200. Даже если слова будут поменьше, скажем, по 20 символов, то, поскольку перед первым же словом из двух тоже будут добавлены 100 пробелов, то ПРАВСИМВ(..., 200) вернет строку, состоящую из: 60 пробелов + 20 символов 1-го слова + 100 пробелов + 20 символов 2-го слова = всего 200 символов. После сжатия пробелов в обоих случаях останутся два последних слова исходной строки, разделенные одним пробелом.

Константа 200 соответствует получению двух последних слов в строке. Если нужно извлечь только одно последнее слово (второе из "двух последних"), то, предполагая максимально возможную длину слова равной 50 символов, нужно будет извлечь именно 50 символов, т.е. на 150 (50 символов первого слова + 100 пробелов) меньше значения 200.

Очевидно, что именно с шагом 150 нужно задавать значения вместо "200" и для других количеств извлекаемых последних слов:
одно последнее - 50
два последних - 200
3 - 350
4 - 500
5 - 650
6 - 800
и т.д. (если надо :)

Если вас устроят другие значения вместо 50/100, например, 30/60, то ряд значений типа "200" может выглядеть по аналогии - от 30 с шагом 90:
одно - 30
два - 120
3 - 210
4 - 300
5 - 390
6 - 480
и т.д.


P.S. НЕТ! Запутался я что-то сам :( Всё оказалось гораздо проще - ряд состоит из значений, кратных количеству подменяемых пробелов:
Вместо "200" для других количеств извлекаемых последних слов нужно подставлять:
одно последнее - 100
два последних - 200
3 - 300
4 - 400
5 - 500
6 - 600
7 - 700
8 - 800
и т.д.
Извините, что первоначально ввёл в заблуждение.


[p.s.]И снова мимо! В общем, всё не так просто, оказывается... Буду ещё думать, но уже в другом сообщении - хватит это портить зачеркиваниями... Извините![/p.s.]

ЛИТЕРАТУРА:
1. http://www.excelworld.ru/forum/7-2804-1
2. http://www.excelworld.ru/forum/7-3093-1

Автор - Gustav
Дата добавления - 01.08.2021 в 22:01
Alla8520 Дата: Понедельник, 02.08.2021, 09:11 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

Доброе утро.
Спасибо Вам большое за подробный ответ. В моем случае алгоритм 100-200-300 и так далее работает.

В любом случае, понимая алгоритм и принцип работы данной формулы, можно спокойно подобрать нужные значения практически для любой ситуации.
Будет интересно попробовать на различных примерах, вдруг у кого-то эта формула не сработает))
 
Ответить
СообщениеДоброе утро.
Спасибо Вам большое за подробный ответ. В моем случае алгоритм 100-200-300 и так далее работает.

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

Автор - Alla8520
Дата добавления - 02.08.2021 в 09:11
прохожий2019 Дата: Понедельник, 02.08.2021, 10:05 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 1242
Репутация: 317 ±
Замечаний: 0% ±

365 Beta Channel
с 2013 можно идти другим путём (пишу без оформления формул тегами, поскольку движок их "сжирает" тёзка подсказал - при использовании нужно будет убрать пробелы в начале тега):
Код
=ФИЛЬТР.XML("< j>< i>"&ПОДСТАВИТЬ($A$1;разделитель;"< /i>< i>")&"< /i>< /j>";xpath)

для первого слова имеем:
Код
=ФИЛЬТР.XML("< j>< i>"&ПОДСТАВИТЬ($A$1;" ";"< /i>< i>")&"< /i>< /j>";"//i[1]")

для второго:
Код
=ФИЛЬТР.XML("< j>< i>"&ПОДСТАВИТЬ($A$1;" ";"< /i>< i>")&"< /i>< /j>";"//i[2]")

для последнего:
Код
=ФИЛЬТР.XML("< j>< i>"&ПОДСТАВИТЬ($A$1;" ";"< /i>< i>")&"< /i>< /j>";"//i[last()]")

а так для предпоследнего:
Код
=ФИЛЬТР.XML("< j>< i>"&ПОДСТАВИТЬ($A$1;" ";"< /i>< i>")&"< /i>< /j>";"//i[last()-1]")

ну и множество других плюшек, особенно в сочетании со СЦЕП() или ОБЪЕДИНИТЬ() yes
К сообщению приложен файл: xpath.xlsx (11.0 Kb)


Сообщение отредактировал прохожий2019 - Понедельник, 02.08.2021, 12:39
 
Ответить
Сообщениес 2013 можно идти другим путём (пишу без оформления формул тегами, поскольку движок их "сжирает" тёзка подсказал - при использовании нужно будет убрать пробелы в начале тега):
Код
=ФИЛЬТР.XML("< j>< i>"&ПОДСТАВИТЬ($A$1;разделитель;"< /i>< i>")&"< /i>< /j>";xpath)

для первого слова имеем:
Код
=ФИЛЬТР.XML("< j>< i>"&ПОДСТАВИТЬ($A$1;" ";"< /i>< i>")&"< /i>< /j>";"//i[1]")

для второго:
Код
=ФИЛЬТР.XML("< j>< i>"&ПОДСТАВИТЬ($A$1;" ";"< /i>< i>")&"< /i>< /j>";"//i[2]")

для последнего:
Код
=ФИЛЬТР.XML("< j>< i>"&ПОДСТАВИТЬ($A$1;" ";"< /i>< i>")&"< /i>< /j>";"//i[last()]")

а так для предпоследнего:
Код
=ФИЛЬТР.XML("< j>< i>"&ПОДСТАВИТЬ($A$1;" ";"< /i>< i>")&"< /i>< /j>";"//i[last()-1]")

ну и множество других плюшек, особенно в сочетании со СЦЕП() или ОБЪЕДИНИТЬ() yes

Автор - прохожий2019
Дата добавления - 02.08.2021 в 10:05
Erjoma1981 Дата: Понедельник, 02.08.2021, 10:11 | Сообщение № 8
Группа: Проверенные
Ранг: Участник
Сообщений: 66
Репутация: 25 ±
Замечаний: 0% ±

Excel 2010, 2019
Не сработает, если получаемый текст после замены одного на 100 пробелов превысит 32767 знаков.
 
Ответить
СообщениеНе сработает, если получаемый текст после замены одного на 100 пробелов превысит 32767 знаков.

Автор - Erjoma1981
Дата добавления - 02.08.2021 в 10:11
прохожий2019 Дата: Понедельник, 02.08.2021, 10:19 | Сообщение № 9
Группа: Проверенные
Ранг: Старожил
Сообщений: 1242
Репутация: 317 ±
Замечаний: 0% ±

365 Beta Channel
после замены одного на 100 пробелов
потому и предложил вариант с заменой на гораздо меньшее число символов
 
Ответить
Сообщение
после замены одного на 100 пробелов
потому и предложил вариант с заменой на гораздо меньшее число символов

Автор - прохожий2019
Дата добавления - 02.08.2021 в 10:19
Gustav Дата: Понедельник, 02.08.2021, 10:35 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2731
Репутация: 1132 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
можно спокойно подобрать нужные значения практически для любой ситуации

Дык, как раз и пытаемся избавить благодарных потомков от подобных подборов путём вручения им уверенного знания :)

Собственно, ночь не прошла даром. Нахлынули сразу два синдрома - Менделеева, увидевшего во сне свою таблицу, и Нильса Бора, увидевшего во сне модель атома. И вот что приснилось скромному мне, и уже проверено, и уже практически работает (с опаской, конечно, говорю - боюсь сглазить после вчерашних зачеркиваний, но тем не менее).

Константы "100" (кол-во подставляемых пробелов) и "200" (кол-во правых символово) должны меняться (обе!) в зависимости от количества последних слов:
кол-во подставляемых пробелов = кол-во последних слов * максимальная длина слов
кол-во правых символов = квадрат кол-ва последних слов * максимальная длина слов

Таким образом, для рассматриваемого топиком случая двух последних слов получается:
кол-во подставляемых пробелов = 2 * 50 = 100
кол-во правых символов = 2^2 * 50 = 4 * 50 = 200

И многострадальный ряд значений констант "100" и "200" для разных количеств последних слов, наконец, приобретает следующий вид:
одно последнее - 50 - 50
два последних - 100 - 200
три последних - 150 - 450 (т.е. 3*50 и 9*50)
4 - 200 - 800 (т.е. 4*50 и 16*50)
5 - 250 - 1250
6 - 300 - 1800
7 - 350 - 2450
8 - 400 - 3200
и т.д. по аналогии - и, как уже сказали, до длины получающейся после подстановки пробелов строки в 32767 символов.


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
можно спокойно подобрать нужные значения практически для любой ситуации

Дык, как раз и пытаемся избавить благодарных потомков от подобных подборов путём вручения им уверенного знания :)

Собственно, ночь не прошла даром. Нахлынули сразу два синдрома - Менделеева, увидевшего во сне свою таблицу, и Нильса Бора, увидевшего во сне модель атома. И вот что приснилось скромному мне, и уже проверено, и уже практически работает (с опаской, конечно, говорю - боюсь сглазить после вчерашних зачеркиваний, но тем не менее).

Константы "100" (кол-во подставляемых пробелов) и "200" (кол-во правых символово) должны меняться (обе!) в зависимости от количества последних слов:
кол-во подставляемых пробелов = кол-во последних слов * максимальная длина слов
кол-во правых символов = квадрат кол-ва последних слов * максимальная длина слов

Таким образом, для рассматриваемого топиком случая двух последних слов получается:
кол-во подставляемых пробелов = 2 * 50 = 100
кол-во правых символов = 2^2 * 50 = 4 * 50 = 200

И многострадальный ряд значений констант "100" и "200" для разных количеств последних слов, наконец, приобретает следующий вид:
одно последнее - 50 - 50
два последних - 100 - 200
три последних - 150 - 450 (т.е. 3*50 и 9*50)
4 - 200 - 800 (т.е. 4*50 и 16*50)
5 - 250 - 1250
6 - 300 - 1800
7 - 350 - 2450
8 - 400 - 3200
и т.д. по аналогии - и, как уже сказали, до длины получающейся после подстановки пробелов строки в 32767 символов.

Автор - Gustav
Дата добавления - 02.08.2021 в 10:35
bmv98rus Дата: Понедельник, 02.08.2021, 11:20 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
Подстановка пробелов полезна тогда, когда текст уже есть результат сложных вычислений, а так можно по рабочекрестьянски
Код
=REPLACE(A1;1;FIND(CODE(1);SUBSTITUTE(A1;" ";CODE(1);LEN(A1)-LEN(SUBSTITUTE(A1;" ";))-1));)


Тезка ФИЛЬТР.XML - соглашусь, интересное применение, разве что тормознутое, как и многие универсальные, специально сравнил поиск предпоследнего с таким вариантом

Код
=FILTERXML("< j>< i>"&SUBSTITUTE($A$1," ","< /i>< i>")&"< /i>< /j>",B5)
2,632813
Код
=REPLACE(LEFT(A1,FIND(CODE(1),SUBSTITUTE(A1," ",CODE(1),LEN(A1)-LEN(SUBSTITUTE(A1," ",))))),1,FIND(CODE(1),SUBSTITUTE(A1," ",CODE(1),LEN(A1)-LEN(SUBSTITUTE(A1," ",))-1)),)
0,7421875
К сообщению приложен файл: example2386.xlsx (10.7 Kb)


Замечательный Временно просто медведь , процентов на 20.

Сообщение отредактировал bmv98rus - Понедельник, 02.08.2021, 12:28
 
Ответить
СообщениеПодстановка пробелов полезна тогда, когда текст уже есть результат сложных вычислений, а так можно по рабочекрестьянски
Код
=REPLACE(A1;1;FIND(CODE(1);SUBSTITUTE(A1;" ";CODE(1);LEN(A1)-LEN(SUBSTITUTE(A1;" ";))-1));)


Тезка ФИЛЬТР.XML - соглашусь, интересное применение, разве что тормознутое, как и многие универсальные, специально сравнил поиск предпоследнего с таким вариантом

Код
=FILTERXML("< j>< i>"&SUBSTITUTE($A$1," ","< /i>< i>")&"< /i>< /j>",B5)
2,632813
Код
=REPLACE(LEFT(A1,FIND(CODE(1),SUBSTITUTE(A1," ",CODE(1),LEN(A1)-LEN(SUBSTITUTE(A1," ",))))),1,FIND(CODE(1),SUBSTITUTE(A1," ",CODE(1),LEN(A1)-LEN(SUBSTITUTE(A1," ",))-1)),)
0,7421875

Автор - bmv98rus
Дата добавления - 02.08.2021 в 11:20
прохожий2019 Дата: Понедельник, 02.08.2021, 12:01 | Сообщение № 12
Группа: Проверенные
Ранг: Старожил
Сообщений: 1242
Репутация: 317 ±
Замечаний: 0% ±

365 Beta Channel
разве что тормознутое, как и многие универсальные
так-то да, но согласись, например, найти третье числовое значение в строке "вася 123 петя валя игорь 456 коля иоганн-3-таврический 12 антон 18" так будет проще:
Код
=ИНДЕКС(ФИЛЬТР.XML("< z>< y>"&ПОДСТАВИТЬ(H5;" ";"< /y>< y>")&"< /y>< /z>";"//y[number()=.]");3)

или максимальное оттуда же:
Код
=МАКС(ФИЛЬТР.XML("< z>< y>"&ПОДСТАВИТЬ(H5;" ";"< /y>< y>")&"< /y>< /z>";"//y[number()=.]"))
К сообщению приложен файл: ex.xlsx (10.5 Kb)


Сообщение отредактировал прохожий2019 - Понедельник, 02.08.2021, 12:37
 
Ответить
Сообщение
разве что тормознутое, как и многие универсальные
так-то да, но согласись, например, найти третье числовое значение в строке "вася 123 петя валя игорь 456 коля иоганн-3-таврический 12 антон 18" так будет проще:
Код
=ИНДЕКС(ФИЛЬТР.XML("< z>< y>"&ПОДСТАВИТЬ(H5;" ";"< /y>< y>")&"< /y>< /z>";"//y[number()=.]");3)

или максимальное оттуда же:
Код
=МАКС(ФИЛЬТР.XML("< z>< y>"&ПОДСТАВИТЬ(H5;" ";"< /y>< y>")&"< /y>< /z>";"//y[number()=.]"))

Автор - прохожий2019
Дата добавления - 02.08.2021 в 12:01
китин Дата: Понедельник, 02.08.2021, 12:22 | Сообщение № 13
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
прохожий2019, Михаил, ну ведь не новенький же. оформи свои посты как положено. примени тэги


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщениепрохожий2019, Михаил, ну ведь не новенький же. оформи свои посты как положено. примени тэги

Автор - китин
Дата добавления - 02.08.2021 в 12:22
прохожий2019 Дата: Понедельник, 02.08.2021, 12:25 | Сообщение № 14
Группа: Проверенные
Ранг: Старожил
Сообщений: 1242
Репутация: 317 ±
Замечаний: 0% ±

365 Beta Channel
ну ведь не новенький же
да как бы и объяснил
Цитата прохожий2019, 02.08.2021 в 10:05, в сообщении № 7 ()
пишу без оформления формул тегами, поскольку движок их "сжирает"
хотя если надо - поправлю, формулы перестанут читаться, но модераторы будут счастливы решили лишними пробелами в начале тегов


Сообщение отредактировал прохожий2019 - Понедельник, 02.08.2021, 12:40
 
Ответить
Сообщение
ну ведь не новенький же
да как бы и объяснил
Цитата прохожий2019, 02.08.2021 в 10:05, в сообщении № 7 ()
пишу без оформления формул тегами, поскольку движок их "сжирает"
хотя если надо - поправлю, формулы перестанут читаться, но модераторы будут счастливы решили лишними пробелами в начале тегов

Автор - прохожий2019
Дата добавления - 02.08.2021 в 12:25
bmv98rus Дата: Понедельник, 02.08.2021, 12:26 | Сообщение № 15
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
Цитата прохожий2019, 02.08.2021 в 12:01, в сообщении № 12 ()
но согласись
спору нет. Есть в этом смысл, конечно приятнее поломать голову над формулой, а не над xpath, но иногда приходяитс жертвовать интересами в пользу дела :-)


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
Цитата прохожий2019, 02.08.2021 в 12:01, в сообщении № 12 ()
но согласись
спору нет. Есть в этом смысл, конечно приятнее поломать голову над формулой, а не над xpath, но иногда приходяитс жертвовать интересами в пользу дела :-)

Автор - bmv98rus
Дата добавления - 02.08.2021 в 12:26
bmv98rus Дата: Понедельник, 02.08.2021, 12:30 | Сообщение № 16
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
Цитата прохожий2019, 02.08.2021 в 12:25, в сообщении № 14 ()
формулы перестанут читаться,
или их немного коверкать надо добавляя пробел см #11


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
Цитата прохожий2019, 02.08.2021 в 12:25, в сообщении № 14 ()
формулы перестанут читаться,
или их немного коверкать надо добавляя пробел см #11

Автор - bmv98rus
Дата добавления - 02.08.2021 в 12:30
прохожий2019 Дата: Понедельник, 02.08.2021, 12:37 | Сообщение № 17
Группа: Проверенные
Ранг: Старожил
Сообщений: 1242
Репутация: 317 ±
Замечаний: 0% ±

365 Beta Channel
или их немного коверкать
о, мысль, спс!
 
Ответить
Сообщение
или их немного коверкать
о, мысль, спс!

Автор - прохожий2019
Дата добавления - 02.08.2021 в 12:37
китин Дата: Понедельник, 02.08.2021, 12:38 | Сообщение № 18
Группа: Модераторы
Ранг: Экселист
Сообщений: 7014
Репутация: 1073 ±
Замечаний: 0% ±

Excel 2007;2010;2016
Цитата прохожий2019, 02.08.2021 в 12:25, в сообщении № 14 ()
да как бы и объяснил

пардон, не заметил


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
Сообщение
Цитата прохожий2019, 02.08.2021 в 12:25, в сообщении № 14 ()
да как бы и объяснил

пардон, не заметил

Автор - китин
Дата добавления - 02.08.2021 в 12:38
прохожий2019 Дата: Понедельник, 02.08.2021, 12:52 | Сообщение № 19
Группа: Проверенные
Ранг: Старожил
Сообщений: 1242
Репутация: 317 ±
Замечаний: 0% ±

365 Beta Channel
разве что тормознутое
и кстати - у тебя же формула как массивка была введена? В 365 на динамических ФИЛЬТР.XML выигрывает по скорости - 0,89 против 1,64
 
Ответить
Сообщение
разве что тормознутое
и кстати - у тебя же формула как массивка была введена? В 365 на динамических ФИЛЬТР.XML выигрывает по скорости - 0,89 против 1,64

Автор - прохожий2019
Дата добавления - 02.08.2021 в 12:52
bmv98rus Дата: Понедельник, 02.08.2021, 13:08 | Сообщение № 20
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4106
Репутация: 768 ±
Замечаний: 0% ±

Excel 2013/2016
Цитата прохожий2019, 02.08.2021 в 12:52, в сообщении № 19 ()
у тебя же формула как массивка была введена?
нет, зачем оно там?


Замечательный Временно просто медведь , процентов на 20.
 
Ответить
Сообщение
Цитата прохожий2019, 02.08.2021 в 12:52, в сообщении № 19 ()
у тебя же формула как массивка была введена?
нет, зачем оно там?

Автор - bmv98rus
Дата добавления - 02.08.2021 в 13:08
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Формула для поиска слова от последнего пробела. (Формулы/Formulas)
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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