Страницы: 1
RSS
[ Закрыто ] Макрос "Анализ чувствительности" на базе модели в Excel, макрос с использованием умных таблиц
 
Друзья.
Прошу помочь создать следующее.
Есть созданная пользователем модель, где заданы факторы и посчитана комплексная оценка.
Пользователь может провести анализ чувствительности данной модели (комплексной оценки) к изменению одного из факторов при прочих неизменных.
Пользователь задаёт на листе "Чувствительность" ячейки, значения которых требуется изменять в диапазоне 1-4 с шагом 0,01, и ячейки, которые он отслеживает (попарно).
Макрос считывает эти ячейки, фиксирует в памяти первоначальные значения.
меняет ячейки, копирует комплексную оценку, и создаёт новую Умную таблицу на новом листе, где всё это аккуратно фиксируется.
По окончанию цикла 1-4, восстанавливает первоначальные значения. и т.д.

Очень подробно описал в файле "Описание проблемы".
Также прилагаю сам файл - файл для работы

Собственно, прошу помощи в создании Макроса.
В описание даже его полностью словестно и структурировано описал со всеми ссылками.

Спасибо за помощь!
На тему имеется кросс


Динамика темы:
1) Ранее тема начиналась Первое обсуждение темы. Обсуждение закончилось тем, что была раскритикована идея создания Формы и предложено использовать анализ "Ehat-If". Попытка использования данного не увенчалась успехом, т.к. есть ограничения на создаваемый вид таблиц и нагромождение формулами мешает реализовать данную процедуру стандартными средставами. (эта попытка также имеет кросс. Этот кросс вообще не нашёл каких-либо ответов.
2) Делалась попытка использовать макрофукнцию "What-IF". Есть успехи, если Вы используете просты формулы. Однако, если у Вас применяется достаточно трудная последовательность расчётов, то применить данный вариант не представляется возможным.

В настоящий момент проблема находит своё постепенное решение в создании пользовательской таблицы с указанием пор для отслеживания.

P.S. Это всё Microsoft, а не продукты Google.
Изменено: Kirill Gureev - 28.05.2016 15:26:24
 
У Вас уже была тема про анализ чувствительности. Или я ошибаюсь?
 
это уже третья тема: 1, 2
 
Подождём автора - может быть сможет объяснить, зачем создаются темы-дубликаты...
 
вот зачем заниматься подменой понятий?  8-0 ... писать "Описание проблемы", а выкладывать "Описание необходимого решения" со словом Требуется и его расшифровкой на 3 листа... проблема в пользовании xl уже 3-й раз не озвучена!..
по сути:
Цитата
Здесь вроде как нужно создать новы лист, а на нём «Умную таблицу» с количеством столбцов, равным k_int+1. Первый столбец будет содержать перебор, универсальный для всех изменений (от 1 до 4 с шагом 0,01), а в столбцах рядом будут записываться значения отслеживаемых переменных. При этом не очень хочется проверять, существует ли лист с таким названием, ...
xl такого алгоритма не понимает... тчк... и далее вы хотите ходить по ячейкам и записывать в них значения... - это можно делать руками... зачем тогда программировать?.. (если программный код не оптимизирует работу)
всё, что хотите сделать можно делать и в коде с использованием и массивов, и коллекций, и словарей и др. алгоритмических возможностей... если есть алгоритм!.. - то как это написать на яз. vba? - и, наверно, каждый шаг придётся выделить в отдельный вопрос по xl  - т.к. ветка всё-таки Вопросы по Microsoft Excel - какое действие вам в xl не удаётся реализовать? - это проблема... (которая логично выльется в вопрос)
p.s. ваша настойчивость в дублировании заказа на проект в теме Общих Вопросов не соответствует тематике ветки (если вопросов ПО XL так до сих пор и не появляется)... (хотя ответ я вам уже написала -  ;) уходите от беготни по ячейкам) ... а под каким названием этот макрос будет - это xl'ю всё-равно (к слову о названии темы - если вы снова не доведёте тему до конца и пойдёте создавать такую же)
Цитата
Юрий М написал: зачем создаются темы-дубликаты...
чтобы уйти от самостоятельного решения?  (ответ я ТСу уже писала - ;) маловероятно получить всё и сразу)...
ТСу: разбивайте на шаги, выполняйте пошагово - "путь осилит идущий" - спрашивайте по дороге, Решение ведь Ваше!...
желаю вам успехов (и себе - быть услышанной - "не тянет это решение на Один вопрос")... имхо (не видно вашей(!) проблемы)
Изменено: JeyCi - 28.05.2016 12:47:31
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
"Друг" еще и кросспостингом регулярно занимается:
http://www.programmersforum.ru/showthread.php?t=294105
http://www.excelworld.ru/forum/10-23678-1
Изменено: kuklp - 28.05.2016 14:00:22
Я сам - дурнее всякого примера! ...
 
Друзья, Вы зря так реагируете.
Каждый раз, прежде чем написать пост, я решаю часть проблемы и просматриваю варианты решения. Если не прокатывает, то создаю дополнительный блок данных.
И каждый, практически раз, особенно от JeyCi я получаю какой-то бесполезный поток информации, хотя уверен, что с вашими навыками решить проблему было бы элементарно быстро, чем тратить столько времени на критику.
Если некоторые продолжают думать, что я как бы делаю какой-то заказ, то переубедить мне их иным не получится, кроме как указав на ток, чтобы Вы скачали и посмотрели эволюцию файлов в этих трёх темах. Я начинал с 0, а сделал в Итоге сам достаточно много.

Если бы администрация сайта радела за решение людских проблем, то таких бесполезных пантографов просто убирала с обсуждения. Лично моё мнение, что когда человек создаёт тему, то прежде чем критиков, лучше сначала разобраться. Думаю помимо кнопок  "Цитировать" и "Имя" нужно бы добавить кнопку Удалить" для измельчения глупой и необоснованной критики.

Принцип прост...
Если ты не хочешь помогать, не хочешь участвовать... дк зачем ты лезешь в тему с такими развёрнутыми и бессмысленными постами.

Что касается кроссов, то не вижу здесь ничего плохого.  Везде разный контингент. И иногда от людей с разных форумов разные предложения ПО ДЕЛУ поступают.
 
Цитата
Если ты не хочешь помогать, не хочешь участвовать...
Если не хочешь следовать порядкам, заведенным на форуме - не заходи на форум.
21 Май 2016 09:08:12 Вы обещали сами информировать  о размещении темы на других форумах.

Цитата
Подождём автора - может быть сможет объяснить, зачем создаются темы-дубликаты.
 
Кирилл, по поводу кроссов: разместили свой вопрос на нескольких форумах - информируйте об этом. Неужели это так сложно?
По поводу тем-дубликатов: я Вам уже задавал вопрос - почему создали тему-дубликат - помните, что Вы ответили? Напомню - мол, тема утонула. И я Вас тогда же спросил: утонет это - создадите третью? Вы скромно промолчали. Но... всё же создали. Вот почему Вы не продолжаете в своей "старой" теме? И сколько раз Вам нужно говорить, что не следует дублировать темы?
По поводу глупой и необоснованной критики: возможно, она Вам и кажется таковой. Но не факт, что это именно так. Или Вы истина в высшей инстанции?
Цитата
Kirill Gureev написал:
Если бы администрация сайта радела за решение людских проблем,
А это вообще песня! Вы на самом деле считаете, что администрация должна приложить все силы для того, чтобы решить Вашу проблему?
 
Цитата
Kirill Gureev написал:
Что касается кроссов, то не вижу здесь ничего плохого.  Везде разный контингент. И иногда от людей с разных форумов разные предложения ПО ДЕЛУ поступают.
Но ведь могут быть и одинаковые решения! Тогда получается, что тот, кто дал повторное решение, зря потратил СВОЁ время для решения ВАШЕЙ проблемы.
Вот поэтому и нужно информировать о кроссах.
 
Друзья, я ведь указал наличие кросса на другом Форуме. Вы зря накинулись. Я не считаю текущую тему решением копией предыдущих, поскольку иначе задавался вопрос, была другая исходная информация. Тема постепенно эволюционирует. Обратите внимание на меняющиеся файлы и явное отличие.
Неужели никто не обращает внимание на суть!
Также хочу отметить, что все решения, предлагаемые ранее, использовались и делался вывод о возможно/невозможности применения. (это касается "3 раз публикуешь  тему").

Юрий М, Вы переиначили мою фразу. Администрация, по моему мнению, борясь за чистоту форума и решение проблем людей, которые приходят на Форум с этой целью (решить свою проблему), должна ограждать от флуда и пустословия ...
Т.е. создание "удалить" должно помочь очистить форум от бесполезного...
Вот что имелось ввиду.
 
Цитата
Kirill Gureev написал:
это касается "3 раз публикуешь  тему
Вот именно!
 
Цитата
Kirill Gureev написал:
создание "удалить" должно помочь очистить форум от бесполезного
И кто будет решать - бесполезный пост или нет? Любой пользователь может удалить соощение любого другого пользователя? Бред.
 
Цитата
Kirill Gureev написал:
Друзья, я ведь указал наличие кросса на другом Форуме
А ещё на одном?  
 
Цитата
Тема постепенно эволюционирует... Неужели никто не обращает внимание на суть!
Эволюционирует решение Вашей задачи. А вот темам следует давать название четкие, по рассматриваемому вопросу. А все вопросы объединять в одной теме только потому, что они связаны с одной вашей задачей, неправильно.
 
Итог.
Создавайте темы с конкретными вопррсами, а не размазней. Каждое решение может быть полезно по-отдельности. И, наоборот, сваленные в кучу, в одну тему - очень узкое решение, мало кому полезное.
Страницы: 1
Читают тему
Наверх