Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Получение СУПЕРФОРМУЛЫ в VBA, Получить формулу задействовав только ячейки без формул
 
Добрый день, Уважаемые Знатоки)
Возник вопрос, возможно ли рекурсивно получить итоговую формулу в ячейке в которой будут задействованы только конечные ячейки со значениями?
Т.е. в А1 формула =В1+В2, в свою очередь В1=С1/С2, В2=С3*С4 , а в столбце С уже идут числа. Вот как получить формулу (С1/С2) + (С3*С4), но для общего случая с множеством зависимостей. Более сложный пример во вложении. Может быть кто то сталкивался уже?
 
Alex755, Задача интересная, но название ей не соответствует.
Ничего невозможного нет, Единственная сложность - это разбор формул на составляющие, так как для общего случая надо учитывать не только наличие функций, но и текстовых констант, которые могут совпасть ну и в случае с указанием диапазона, даже если в нем формула, то не трогать.

Помнится пробегала надстройка которая разбирала формулы на запчасти , так что ответ - возможно.
Теперь вопрос- для чего? :-) , просто собирать из компонентов одну длинную формулу, которая хоть и будет работать, но может оказаться нечитаемой?
 
Alex755, правила форума здесь. Там написано о названии темы... Много чего такого полезного, чтобы потом модераторы не писали замечания...
Предложите название темы. Модераторы заменят
 
Если я не ошибаюсь, то этот процесс именно так и называется, то есть собрав в одну формулу множество мелких составных частей мы получаем суперформулу) Это не в смысле что она действует как кнопка "сделать хорошо"))) Это просто так называется... А для чего подробнее написано в файлике с примером, чтобы получить зависимость одной переменной от другой без лишней шелухи(то есть вычислить все что можно вычислить и получить уравнение вида y=ax^(n) + bx^(n-1)...+ c , чтобы хотя бы оценить порядок зависимости)
 
Кросс :http://www.cyberforum.ru/vba/thread2499182.html
 
Цитата
Alex755 написал:
получить уравнение вида
Уравнение  - это на бумажке, а для вычисления  y=ax^(n) + bx^(n-1)...+ могут быт совершенно другие методы, чем
Цитата
суперформула
Про название темы и я упомянул и Модератор.
 
Offtopic

На правах рекламы...

Alex755, посмотрите обсуждение вот в этой теме
Определение коэффициентов тренда через VBA
возможно, они натолкнут Вас на мысли как еще можно искать коэффициенты полиномиального уравнения
 
Тогда можно назвать "Получение полной формулы из зависимых ячеек"
 
Alex755, посетитель, просматривающий раздел, по названию должен понять, какая задача обсуждается, и не тратить время на посещение темы, если это ему не подходит.
 
OFF
vikttur,  Получение СУПЕРФОРМУЛЫ МЕГАСКРИПТОМ  :D
 
Привет!
Цитата
Alex755 написал:
кто то сталкивался уже?
Да. Здесь
 
боялся заглянуть в эту тему, чтобы мощь СУПЕРФОРМУЛЫ не прожгла мне мозг через глаза
опасения не подтвердились
Alex755,
чтобы написать СУПЕРФОРМУЛУ, нужно для начала сформулировать название супертемы, пока все застряло на этом
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Код
=(СУММ(J1:O1)*500+МАКС(D2:O2)/СУММ(D3:O3))/((F2-H3*I2+K1/(СУММ(J1:O1)*500+МАКС(D2:O2)))*(1+C6/3))
Изменено: Ігор Гончаренко - 13 Сен 2019 10:36:47
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Inexsu написал:
Да.  Здесь
Коллеги, всем спасибо за участие.
Inexsu, спасибо за единственный комментарий по делу) Почитав хабр пришел к выводу что задача не тривиальная и искать ее решение экономически нецелесообразно)) лучше искать другие пути решения.
Зато набросал личинку макроса который умеет парсить самый простой вариант формул с арифметическими операциями. Скрипт кривой, работает не всегда, но как идея пойдет) Вдруг кому то сгодится.
 
Цитата
Alex755 написал:
Inexsu , спасибо за единственный комментарий по делу)
Вот прям даже обидно, а #3
Страницы: 1
Читают тему (гостей: 1)
Наверх