|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.09.2013, 13:26 | #1 |
Пользователь
Регистрация: 27.09.2013
Сообщений: 14
|
Помогите переделать формулу с неизвестным
Коллеги, если есть возможность - помогите пожалуйста преобразовать формулу в excel
Формула: 100=EXP(0*18)*(100*НОРМРАСП((LN(100/80)+0,5*(C2^2)*18)/(C2*КОРЕНЬ(18));0;1;ИСТИНА)-80*НОРМРАСП((LN(100/80)-0,5*(C2^2)*18)/(C2*КОРЕНЬ(18));0;1;ИСТИНА)) C2 это искомый X , т.е нужно найти C2: С2= и.... Путём подбора параметра например, при С2=4 условие выполняется (т.е. =100). Также при подборе параметра проверял другие значения, например при =62 С2=0,37... и т.д. Но всё-таки очень нужно преобразовать именно саму формулу. Если для кого-нибудь это не составит очень большого труда - помогите пожалуйста, т.к. сам бьюсь с этим уже около месяца, но самому разложить всё это на пальцах знаний не хватает ( |
27.09.2013, 15:02 | #2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
минимальное значение, при котором
100=EXP(0*18)*(100*НОРМРАСП((LN(100/80)+0,5*(C2^2)*18)/(C2*КОРЕНЬ(18));0;1;ИСТИНА)-80*НОРМРАСП((LN(100/80)-0,5*(C2^2)*18)/(C2*КОРЕНЬ(18));0;1;ИСТИНА)) 2.97798671921091 и функция равна 100 при любых других значениях больше 2.97798... 62 это будет равно при с2 = 0.37465792688208
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
27.09.2013, 15:09 | #3 | |
Пользователь
Регистрация: 27.09.2013
Сообщений: 14
|
Цитата:
|
|
27.09.2013, 15:34 | #4 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
так я и пользуюсь Вашей формулой
Все что я исправил в Вашей формуле это два раза заменил 0,5 на 0.5 (у меня разделитель целой части числа от дробной точка, а не запятая) 21 при с2 = 0.0447645188836581 32 при с2 = 0.136790351196758 43 при с2 = 0.21858933956077 54 при с2 = 0.305245684627548 ... и т.д вообще с2 можно определить для любых значений функции от -80 до 100.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
27.09.2013, 15:45 | #5 | |
Пользователь
Регистрация: 27.09.2013
Сообщений: 14
|
Цитата:
Через подбор параметра я получаю те же значения, что и у Вас, но мне то нужна именно, так сказать, обратная формула, т.е. допустим: 0.305245684627548= ..... Т.е 54 это как раз известная величина, а вот 0.305245684627548 неизвестная (Х, или C1, как в формуле). |
|
27.09.2013, 16:18 | #6 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
подозреваю, что простой (и даже сложной) обратной формулы нет, это решается методом итераций. в екселе - с помощью "подбор параметра" или "поиск решения".
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
27.09.2013, 16:32 | #7 | |
Пользователь
Регистрация: 27.09.2013
Сообщений: 14
|
Цитата:
Тогда ещё вопрос, а такую функцию excel как "подбор параметра" возможно сделать в виде макроса, причём таким образом, что бы поле функции "значение" автоматом извлекалось бы из какой-либо определенной ячейки, в которой оно периодически меняется? (Просто в штатной форме функции excel "подбор параметра" поле "значение" строго требует ввода числа и не позволяет делать даже ссылку на ячейку). |
|
27.09.2013, 16:55 | #8 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
да, это возможно, макрос (без заголовка и End Sub) состоит из 45 символов.
стартовать может автоматически, когда в "целевой ячейке" изменилось значение. Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
30.09.2013, 15:40 | #9 | |
Пользователь
Регистрация: 27.09.2013
Сообщений: 14
|
Цитата:
Осталась только загвоздка - для автоматического реагирования на изменение значения в ячейке применил: Private Sub Worksheet_Change(ByVal Target As Range) Проблема оказалась в том, что когда я ручками меняю значение в ячейке - макрос прекрасно работает. Но в реальности, значения в эту ячейку периодически экспортируются из другого ПО (запущена выгрузка в книгу excel). Вот при таком авто-экспорте макрос отказывается реагировать на изменения, хотя на самом деле значения ячейки меняются. Может есть способ сделать так, чтобы макрос реагировал и на такие изменения? |
|
30.09.2013, 16:02 | #10 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Есть аж 3 разных способа:
1. Завязать на этот диапазон формулу и использовать событие пересчёта. 2. Завязать на эту ячейку текстбокс (или комбобокс, не помню) и использовать его события. 3. Было что-то умное, забыл... Но это должно быть тут: http://www.planetaexcel.ru/forum/ind...ID=8&TID=10022
webmoney: E265281470651 Z422237915069 R418926282008
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Переделать формулу для Excel 2003 | sanya14 | Microsoft Office Excel | 12 | 25.01.2012 13:47 |
Переделать формулу для Excel 2003 | cassiopeya | Microsoft Office Excel | 4 | 27.09.2010 14:27 |
Нужно упростить, переделать формулу | avtopark | Microsoft Office Excel | 3 | 06.02.2010 10:32 |
Как переделать формулу | mik | Microsoft Office Excel | 1 | 27.10.2007 19:07 |