Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2016, 22:04   #1
Aleksver2008
 
Регистрация: 04.05.2016
Сообщений: 4
По умолчанию формула для данных

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

4A03-FW MX06 10
2A10 13-2806/White 100
3A03-FN MX06 8
3A03-FN MX06 12
Aleksver2008 вне форума Ответить с цитированием
Старый 04.05.2016, 22:32   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Ваши данные в колонке А, начиная с А1
копируете этот
Код:
=ПСТР(A1;МАКС((ПСТР(A1;СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;ДЛСТР(A1)));1)=" ")*СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;ДЛСТР(A1))))+1;99)
в любую ячейку, это формула массива, т.е. после копирования жмете не Enter, а Ctrl+Shift+Enter
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 04.05.2016, 22:40   #3
svsh2016
Форумчанин
 
Регистрация: 16.06.2015
Сообщений: 100
По умолчанию

добрый вечер,вариант функции uuu в столбце D,преимущество таких функций-это простота

Код:
Function uuu%(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "\d+$"
    uuu = .Execute(t)(0)
 End With
End Function
Вложения
Тип файла: xls example_4_05_2016_pr_last_digits.xls (33.5 Кб, 12 просмотров)
svsh2016 вне форума Ответить с цитированием
Старый 04.05.2016, 22:41   #4
Aleksver2008
 
Регистрация: 04.05.2016
Сообщений: 4
По умолчанию

Огромное спасибо )))) все работает. думал как это сделать очень долго.
Aleksver2008 вне форума Ответить с цитированием
Старый 04.05.2016, 22:43   #5
Aleksver2008
 
Регистрация: 04.05.2016
Сообщений: 4
Хорошо

Цитата:
Сообщение от IgorGO Посмотреть сообщение
Ваши данные в колонке А, начиная с А1
копируете этот
Код:
=ПСТР(A1;МАКС((ПСТР(A1;СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;ДЛСТР(A1)));1)=" ")*СТРОКА(ИНДЕКС(A:A;1):ИНДЕКС(A:A;ДЛСТР(A1))))+1;99)
в любую ячейку, это формула массива, т.е. после копирования жмете не Enter, а Ctrl+Shift+Enter
Огромное спасибо )))) все работает. думал как это сделать очень долго.
Aleksver2008 вне форума Ответить с цитированием
Старый 04.05.2016, 22:53   #6
svsh2016
Форумчанин
 
Регистрация: 16.06.2015
Сообщений: 100
По умолчанию

добавил функцию uuu1 в столбец C для текста

Код:
 Function uuu1$(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "(.+ )" & "\d+$"
    uuu1 = .Execute(t)(0).Submatches(0)
 End With
End Function
Вложения
Тип файла: xls example_4_05_2016_pr_last_digits1.xls (36.5 Кб, 14 просмотров)
svsh2016 вне форума Ответить с цитированием
Старый 04.05.2016, 22:57   #7
Aleksver2008
 
Регистрация: 04.05.2016
Сообщений: 4
По умолчанию

Цитата:
Сообщение от svsh2016 Посмотреть сообщение
добавил функцию uuu1 в столбец C для текста

Код:
 Function uuu1$(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "(.+ )" & "\d+$"
    uuu1 = .Execute(t)(0).Submatches(0)
 End With
End Function
Спасибо.
Aleksver2008 вне форума Ответить с цитированием
Старый 04.05.2016, 22:59   #8
svsh2016
Форумчанин
 
Регистрация: 16.06.2015
Сообщений: 100
По умолчанию

добавлю,для текста можно,как вариант и так

Код:
Function uuu3$(t$)
 With CreateObject("VBScript.RegExp"): .Pattern = "\d+$"
    uuu3 = .Replace(t, "")
 End With
End Function
svsh2016 вне форума Ответить с цитированием
Старый 04.05.2016, 23:40   #9
svsh2016
Форумчанин
 
Регистрация: 16.06.2015
Сообщений: 100
По умолчанию

доброго времени суток,добавляю для текста функцию uuu5 в столбце I без регулярок.

Код:
Function uuu5$(t$)
  uuu5 = Replace(t, Split(t)(UBound(Split(t))), "")
End Function
Вложения
Тип файла: xls example_4_05_2016_pr_last_digits2.xls (39.0 Кб, 12 просмотров)
svsh2016 вне форума Ответить с цитированием
Старый 05.05.2016, 00:09   #10
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
которая будет отделять последние цифры кода в отдельные ячейки
видимо предполагалось:
Код:
uuu3 = .execute(t)(0)
и
uuu5 = Split(t)(UBound(Split(t)))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Формула вычисления при изменении данных в определенной ячейке Сергей Ш. Microsoft Office Excel 4 09.09.2013 14:09
Формула для VBA Asante Microsoft Office Excel 4 25.10.2011 17:10
Формула для расчёта Nekto009 Помощь студентам 0 10.05.2011 11:29
Формула для выборки данных из динамического ряда столбцов AlWin Microsoft Office Excel 11 25.11.2010 15:38
Формула или макрос для работы с массивом данных dondavis Microsoft Office Excel 3 21.09.2009 05:14