powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / извлечение число из текстовой строки
25 сообщений из 27, страница 1 из 2
извлечение число из текстовой строки
    #37108804
OlesyaSan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите пожалуйста как можно извлечь число (весовку) из этих текстовых строк
Чай Гринфилд Фэстив Грейп 25пак*1.5г 10шт Ленинградская обл РОССИЯ
Чай Гринфилд Флаинг Драгон 100г 16шт Ленинградская обл РОССИЯ
...
Рейтинг: 0 / 0
извлечение число из текстовой строки
    #37108838
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlesyaSan,

Excel ?
...
Рейтинг: 0 / 0
извлечение число из текстовой строки
    #37108844
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlesyaSan,

ну вы и выбрали цвет... я вижу только выделив весь фрагмент... просматривать неплохо перед публикацией..

ну а извлечь можно, привязавшись к связке цифра-буква г

т.е. разобрать на слова, слово, оканчивающееся на означ комбинацию и будет нужным

макросом лехко.. можно и формулой
...
Рейтинг: 0 / 0
извлечение число из текстовой строки
    #37108850
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_slan_,

макросом легче, можно через split.
...
Рейтинг: 0 / 0
извлечение число из текстовой строки
    #37108852
OlesyaSan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_slan_,
а если использовать формулу, то какую будет лучше
...
Рейтинг: 0 / 0
извлечение число из текстовой строки
    #37108920
Фотография vikttur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если всегда перед нужным фрагментом 4 слова, то формула простая, если нет - формула массива, большое количество таких (если таблица большая) будет тормозить расчеты.
...
Рейтинг: 0 / 0
извлечение число из текстовой строки
    #37108923
SirFisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
OlesyaSan, устроит?

Код: plaintext
1.
2.
3.
4.
5.
6.
Sub Text_to_Columns()

Dim i As Integer
i = WorksheetFunction.CountA(Range("A1:A30000"))
Range("A1:A" & i).TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, ConsecutiveDelimiter:=True, Space:=True

End Sub

Предполагается, что Ваши текстовые строки находятся в поле (столбце) A
...
Рейтинг: 0 / 0
извлечение число из текстовой строки
    #37108926
Фотография vikttur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
viktturЕсли всегда перед нужным фрагментом 4 слова, ...
Уточнение. Если перед фрагментом ли после фрагмента одинаковое количество слов.
...
Рейтинг: 0 / 0
извлечение число из текстовой строки
    #37108929
OlesyaSan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vikttur,
В том то и дело, что таблица большая, и перед числом не всегда четыре слова, тут просто совпало
...
Рейтинг: 0 / 0
извлечение число из текстовой строки
    #37108938
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlesyaSan,

вопрос конечно интересный.. но вам прямой ответ, боюсь, не поможет :)

ибо это будет не одна функция, несколько..

выложите примерчик данных строк на 50..100, на примере легче пойдет
...
Рейтинг: 0 / 0
извлечение число из текстовой строки
    #37108941
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlesyaSan,

Гарантировано , в таком случае, только макросами, еще лучше - макросами и регулярными выражениями.
...
Рейтинг: 0 / 0
извлечение число из текстовой строки
    #37108949
OlesyaSanПодскажите пожалуйста как можно извлечь число (весовку) из этих текстовых строк
Чай Гринфилд Фэстив Грейп 25пак*1.5г 10шт Ленинградская обл РОССИЯ
Чай Гринфилд Флаинг Драгон 100г 16шт Ленинградская обл РОССИЯ
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Sub vesovka()
Dim re, ex, c

Set re = CreateObject("vbscript.regexp")
With re
    .Global = False
    .Pattern = "\b([1-9]\d+пак\*){0,1}[1-9]\.{0,1}\d+г"
    .IgnoreCase = True
    For Each c In Range("A1:A2") ' <- задайте свой диапазон
        Set ex = .Execute(c.Value2)
        If ex.Count >  0  Then
            'вывод "весовки" в окно отладки
            Debug.Print ex( 0 )
            'вывод "весовки" в той же строке на 8 колонок правее
            'c.Offset(0, 8).Value2 = ex(0)
        End If
    Next
    Set ex = Nothing
    Set c = Nothing
End With
    
Set re = Nothing

End Sub
...
Рейтинг: 0 / 0
извлечение число из текстовой строки
    #37108954
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-duke,

да нет, можно и формуллой, но, как правильно заметили выше, на больших массивах может тормозить..
...
Рейтинг: 0 / 0
извлечение число из текстовой строки
    #37108964
OlesyaSan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_slan_,
...
Рейтинг: 0 / 0
извлечение число из текстовой строки
    #37108971
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_slan_,

хотелдось бы взглянуть на формулу.
...
Рейтинг: 0 / 0
извлечение число из текстовой строки
    #37109018
Фотография vikttur
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-dukeхотелдось бы взглянуть на формулу.
Ну, если очень хочется :)
=ПСТР(B6;МИН(ЕСЛИ(ЕЧИСЛО(--ПСТР(B6;СТРОКА($1:$200);1));СТРОКА($1:$200)));ПОИСК("г";ПСТР(B6;МИН(ЕСЛИ(ЕЧИСЛО(--ПСТР(B6;СТРОКА($1:$200);1));СТРОКА($1:$200)));20)))
Работает, если перед нужным фрагментом нет чисел и фрагмент содержит одну "г".
...
Рейтинг: 0 / 0
извлечение число из текстовой строки
    #37109039
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vikttur,

ну вот, я ж говорил..

макросом конечно совсем просто:

Код: plaintext
1.
2.
3.
4.
Function v(r)
    For Each v In Split(r, " ")
        If v Like "*#г*" Then Exit Function
    Next
End Function
...
Рейтинг: 0 / 0
извлечение число из текстовой строки
    #37109052
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
viktturbig-dukeхотелдось бы взглянуть на формулу.
Ну, если очень хочется :)
=ПСТР(B6;МИН(ЕСЛИ(ЕЧИСЛО(--ПСТР(B6;СТРОКА($1:$200);1));СТРОКА($1:$200)));ПОИСК("г";ПСТР(B6;МИН(ЕСЛИ(ЕЧИСЛО(--ПСТР(B6;СТРОКА($1:$200);1));СТРОКА($1:$200)));20)))
Работает, если перед нужным фрагментом нет чисел и фрагмент содержит одну "г".
Это просто караул, не то что будет тормозить на больших массивах, тут даже понять как работает нужно время, не говоря уже о поддержке.
Плюс еще и ограничения на шаблон.
Так что эту задачу надо решать макросом.
...
Рейтинг: 0 / 0
извлечение число из текстовой строки
    #37109075
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
big-duke,

согласен :)
...
Рейтинг: 0 / 0
извлечение число из текстовой строки
    #37109140
OlesyaSan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_slan_,
Огромное спасибо!!!!!!!!!!!!!!!!!
...
Рейтинг: 0 / 0
извлечение число из текстовой строки
    #37109385
OlesyaSan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_slan_,
А подскажи пожалуйста еще как изменить функцию, чтобы выходило число для последующих вычислений, или есть другой способ
...
Рейтинг: 0 / 0
извлечение число из текстовой строки
    #37109414
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlesyaSan,

если получается 25*2г , то какое число вы хотите получить ?
...
Рейтинг: 0 / 0
извлечение число из текстовой строки
    #37109418
OlesyaSan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
big-duke,
должна выходить весовка - 50
...
Рейтинг: 0 / 0
извлечение число из текстовой строки
    #37109436
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OlesyaSan,

А там может быть только знак умножения ?
...
Рейтинг: 0 / 0
извлечение число из текстовой строки
    #37109446
Фотография big-duke
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте через функцию Evaluate, сможете ?
...
Рейтинг: 0 / 0
25 сообщений из 27, страница 1 из 2
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / извлечение число из текстовой строки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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