powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Из текста вытащить число/число/число
23 сообщений из 23, страница 1 из 1
Из текста вытащить число/число/число
    #37640387
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть потребность из ячеек содержащих текстовые значение вытащить некоторую часть

вот несколько примеров
- ааа 45 бб, 121 ваууц 14/15/06 ффцад
- 14 йай укару 1,42 и 59,1 напротив варо 108/85/15 и далее например 145

необходимо чтобы из первого текста осталось только 14/15/06, а из второго 108/85/15

буду рад люббой помощи
...
Рейтинг: 0 / 0
Из текста вытащить число/число/число
    #37640401
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чтобы было еще более понятно из текста необходимо вычленить другой текст вида число/число/число, т.е. кусок в котором бы были три числа разделенные "слешами", при этом любое из чисел обязательно всегда целое (не разделенное запятыми или точками) и любое число может быть одно, двух, трехзначным, т.е. такие варианты (к примеру)
15/8/1/
205/50/16
547/214/101

и т.д. и т.п.
...
Рейтинг: 0 / 0
Из текста вытащить число/число/число
    #37640441
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Split-ом с пробелом получаем массив слов

вторым Split-ом со слешем разбиваем ячейки на подмассивы и анализируем, чтобы во всех ячейках подмассива были только цифры или пустота
...
Рейтинг: 0 / 0
Из текста вытащить число/число/число
    #37640631
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro,

ну и регулярка еще, только осторожно :)
...
Рейтинг: 0 / 0
Из текста вытащить число/число/число
    #37640722
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Формула массива:
Код: vbnet
1.
=ПСТР(A1;ПОИСК(" ";A1;МАКС(ЕСЛИ(ПСТР(ЛЕВСИМВ(A1;ПОИСК("/";A1));СТРОКА($1:$999);1)=" ";СТРОКА($1:$999)))-1)+1;ПОИСК(" ";A1;ПОИСК("/";A1))-МАКС(ЕСЛИ(ПСТР(ЛЕВСИМВ(A1;ПОИСК("/";A1));СТРОКА($1:$999);1)=" ";СТРОКА($1:$999)))-1)
...
Рейтинг: 0 / 0
Из текста вытащить число/число/число
    #37641051
Михаил Ч.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вариант немассивной формулы:
Код: plaintext
=ПСТР(A1;ПРОСМОТР(2;1/ЕЧИСЛО(-ПСТР(A1;ПОИСК("/";A1)-{1;2;3};1));ПОИСК("/";A1)-{1;2;3});ПОИСК(" ";A1;ПОИСК("/";A1)+1)-ПРОСМОТР(2;1/ЕЧИСЛО(-ПСТР(A1;ПОИСК("/";A1)-{1;2;3};1));ПОИСК("/";A1)-{1;2;3}))
...
Рейтинг: 0 / 0
Из текста вытащить число/число/число
    #37641054
Михаил Ч.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В куске формулы: ПОИСК(" ";A1;ПОИСК("/";A1)+1)
"+1" не обязательно
...
Рейтинг: 0 / 0
Из текста вытащить число/число/число
    #37642301
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем огромное спасибо, но, как оказалось, бывают случаи, например, такие:

2-к. 4200 Цв Ць, 2/10, 52/30/9, хоо оа

для такой строки немассивная формула отрабатывает некорректно..
:(
...
Рейтинг: 0 / 0
Из текста вытащить число/число/число
    #37642313
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и массивная, впрочем, тоже...
обе формулы возвращают один и тот же результат: "2/10,"
...
Рейтинг: 0 / 0
Из текста вытащить число/число/число
    #37642362
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вот для такого примера:

2 00е Дой, 1 кт, 53,2/32,1/9,3, чешнеугаты рел рный, остик, каф чно. л.: 056.

"массивная" формула возвращает более предпочтительный (корректный) результат: "53,2/32,1/9,3," - тут только небольшая некорректность - запятая в конце результата - лишняя

а вот результат "немассивной" формулы:
"3,2/32,1/9,3,", кроме лишней запятой эта формула еще и отсекла часть первого числа...
...
Рейтинг: 0 / 0
Из текста вытащить число/число/число
    #37642608
Михаил Ч.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DaniilK,
автора вот для такого примера:
2 00е Дой, 1 кт, 53,2/32,1/9,3, чешнеугаты рел рный, остик, каф чно. л.: 056.
А как же с этим?
авторкусок в котором бы были три числа разделенные "слешами", при этом любое из чисел обязательно всегда целое (не разделенное запятыми или точками) и любое число может быть одно, двух, трехзначным
Определитесь со своими хотелками, либо выложите все возможные варианты
...
Рейтинг: 0 / 0
Из текста вытащить число/число/число
    #37642626
Михаил Ч.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DaniilK...
а вот результат "немассивной" формулы:
"3,2/32,1/9,3,", кроме лишней запятой эта формула еще и отсекла часть первого числа...
Если бы Вы разобрались как работает формула, то смогли бы ее легко исправить, т.к. она расчитана на целые трехзначные(максимум) числа
...
Рейтинг: 0 / 0
Из текста вытащить число/число/число
    #37642639
Михаил Ч.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ОФФ.
Интересно
ааа, ваууц, ффцад, йай, укару, варо, хоо, оа, Дой, чешнеугаты, рел, рный, остик, каф, чно
Это реальные слова на каком то языке? и что они означают?
...
Рейтинг: 0 / 0
Из текста вытащить число/число/число
    #37643236
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DaniilK,

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Sub ho()
Dim sPattern$, re
sPattern = " \d{1,3}/\d{1,3}/\d{1,3} "
Set re = CreateObject("vbscript.regexp")

Debug.Print getSomeText(re, "- ааа 45 бб, 121 ваууц 14/15/06 ффцад", sPattern) & ":"
Debug.Print getSomeText(re, "- 14 йай укару 1,42 и 59,1 напротив варо 108/85/15 и далее например 145", sPattern) & ":"
Debug.Print getSomeText(re, "2-к. 4200 Цв Ць, 2/10, 52/30/9, хоо оа", sPattern) & ":"

Set re = Nothing

End Sub


Function getSomeText$(regexp, s$, sPattern)
Dim ex
With regexp
  .Pattern = sPattern
  Set ex = .Execute(s)
End With
If ex.Count > 0 Then getSomeText = Trim(ex(0))
Set ex = Nothing
End Function


Код: vbnet
1.
2.
3.
14/15/06:
108/85/15:
:
...
Рейтинг: 0 / 0
Из текста вытащить число/число/число
    #37643237
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
поправочЪка:
Код: vbnet
1.
sPattern = "\d{1,3}/\d{1,3}/\d{1,3}"
...
Рейтинг: 0 / 0
Из текста вытащить число/число/число
    #37643650
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Михаил Ч.ОФФ.
Интересно
ааа, ваууц, ффцад, йай, укару, варо, хоо, оа, Дой, чешнеугаты, рел, рный, остик, каф, чно
Это реальные слова на каком то языке? и что они означают?

они ничего не означают, это части слов с переставленными буквами :-)

а язык наш - русский :-)
...
Рейтинг: 0 / 0
Из текста вытащить число/число/число
    #37643659
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaniilK,

по поводу хотелок: они все описаны в условии, единственно, что в принципе, можно пренебречь тем условием, что числа только целые (в принципе, если удастся обработать числа с запятой-разделителем целой и десятичной части, то этот вариант тоже устроил бы)

если же подходить формально т.е. только целые числа, то ни первая ни вторая работают неправильно, т.к. в случае, если встречается запятая внутри число/число/число, то это уже не конструкция вида число/число/число (т.е. в этом примере невозможно было бы никакое решение)
...
Рейтинг: 0 / 0
Из текста вытащить число/число/число
    #37643668
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DaniilK,
а скрипт 12016684 ? С учётом поправки 12016688
...
Рейтинг: 0 / 0
Из текста вытащить число/число/число
    #37643692
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaniilK,

541 пост на форуме...
Сложно выложить файл-пример, в котором будут ВСЕ ВОЗМОЖНЫЕ ВАРИАНТЫ написания число/число/число и текста вокруг этих число/число/число ?!
Тогда топик можно было бы сократить до двух-трёх постов, а наше затраченное на решение время в разы.
Или Вам плевать?..
Что за неуважение?..
...
Рейтинг: 0 / 0
Из текста вытащить число/число/число
    #37643736
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serge 007Тогда топик можно было бы сократить до двух-трёх постов, ...
А поговорить? ;)
...
Рейтинг: 0 / 0
Из текста вытащить число/число/число
    #37644507
DaniilK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Serge 007DaniilK,

541 пост на форуме...
Сложно выложить файл-пример, в котором будут ВСЕ ВОЗМОЖНЫЕ ВАРИАНТЫ написания число/число/число и текста вокруг этих число/число/число ?!
Тогда топик можно было бы сократить до двух-трёх постов, а наше затраченное на решение время в разы.
Или Вам плевать?..
Что за неуважение?..

примера как такового нет, я задача в том виде, как она уже сформулирована..

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

слешей может быть много и до этого куска и после и между этими слешами иногда есть число, число/текст, текст/псевдосимволы и все вариации на эту тему
...
Рейтинг: 0 / 0
Из текста вытащить число/число/число
    #37644790
Михаил Ч.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DaniilKпримера как такового нет, я задача в том виде, как она уже сформулирована..

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

слешей может быть много и до этого куска и после и между этими слешами иногда есть число, число/текст, текст/псевдосимволы и все вариации на эту тему
Почему сразу нелзя было об этом написать?
Приложили бы примеры возможных вариантов с подробным описанием, а то какой вопрос такой ответ и получили.
А в результате и числа не целые, и не трехзначные, и не числа и т.д.
...
Рейтинг: 0 / 0
Из текста вытащить число/число/число
    #37644794
Фотография Serge 007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaniilKпримера как такового нет, я задача в том виде, как она уже сформулирована..

единственный нюанс...
В том виде как она сформулирована задача давно решена. А вот нюьансы, которые Вы выкладывали позже можно было отобразить в файлике СРАЗУ. Что мешает потратить десяток минут на его составление, что бы мы не тратили свое время на ненужные Вам решения?!
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Из текста вытащить число/число/число
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]