Страницы: 1
RSS
Вытянуть формулу из текста
 
Подскажите как можно вытянуть формулу и  текста и сделать вычисления. Итог, который необходимо получить в столбце B.
«Всё гениальное просто» перефразировка афоризма Леонардо да Винчи
 
=ПСТР(A2;ПОИСК("~*";A2)-2;2)*ПСТР(A2;ПОИСК("~*";A2)+1;3)
Первое число не больше 99, второе не больше 999 и не меньше 10
 
вариант через макрос (увидел как-то у Дмитрия на сайте) Смотрите комментарии
Изменено: Jack_Famous - 11.04.2016 20:45:19
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Demonik, вариант функции uuu для произвольных чисел
 
Код
Function uuu#(t$)
 uuu = Split(Split(t, "*")(0))(UBound(Split(Split(t, "*")(0)))) * Split(Split(t, "*")(1))(0)
End Function
Изменено: sv2013 - 11.04.2016 22:50:12
 
Спасибо всем за помощь отлично работают  и формула и макросы.  :)
«Всё гениальное просто» перефразировка афоризма Леонардо да Винчи
 
sv2013, здравствуйте! Не могли бы добавить в функцию возможность указания математического знака ("*";"/";"-";"+"). Заранее спасибо!  :)
13:13 Попробовал размножить эту функцию для других математических операций "топорным" способом (по-другому пока не умею). Заменял "*" соответственно на "+", "-" и "/" и ерунда какая-то))))
Изменено: Jack_Famous - 12.04.2016 13:13:14
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
добрый день,вариант функции uuu1в столбце C для #6
 
Код
Function uuu1#(t$, знак$)
  uuu1 = Evaluate(Val(Split(Split(t, знак)(0))(UBound(Split(Split(t, знак)(0))))) & знак & Val(Split(Split(t, знак)(1))(0)))
End Function
Изменено: sv2013 - 12.04.2016 13:11:26
 
sv2013, UDF замечательно работает для всех знаков! В коллекцию! Огромное спасибо!!!  ;)
Изменено: Jack_Famous - 12.04.2016 13:21:42
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
sv2013 написал:
Demonik, вариант функции uuu для произвольных чисел
Есть небольшая проблемка с макросом. Если Слово составлено слитно (Конфеты3*60г) макрос не работает. Возможно ли это исправить. Есть также один нюанс, на который раньше не обращал внимание. Если слово составлено (Подарок 10*10 см 100гр) Макрос воспринимает перемножение, а в моем случае нужен только граммовый вес. Можно зацепиться за "г" после цифры. Извините что недосмотрел. Подскажите можно ли эти две ошибки включить в макрос.
«Всё гениальное просто» перефразировка афоризма Леонардо да Винчи
 
Цитата
vikttur написал:
=ПСТР(A2;ПОИСК("~*";A2)-2;2)*ПСТР(A2;ПОИСК("~*";A2)+1;3)
Первое число не больше 99, второе не больше 999 и не меньше 10
Есть небольшая погрешность.Если второе слово после цифры начинается 5*10 Гр. Т.е. третий символ буква формула не работает. И такая же проблема с граммами. Упомянул выше. Еще раз извиняюсь что недосмотрел. Возможно ли формулу поправить.  
«Всё гениальное просто» перефразировка афоризма Леонардо да Винчи
 
vikttur, подскажите пожалуйста, что делает знак "тильда" в вашей формуле?
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Bema, "*" без тильды - служебный знак, означающий "любое количество любых символов". Для того, чтобы "*" воспринималась как "*" перед ней ставится другой служебный знак "~". В "поиске" (через Ctrl+F) и "поиске и замене" (через Ctrl+H) тоже самое, кстати... Ещё есть символ "?", означающий ОДИН любой символ
Изменено: Jack_Famous - 13.04.2016 20:10:56
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
Страницы: 1
Наверх