Страницы: 1
RSS
Количество целых и дробных частей ячеек, чья накопленная сумма будет равна заданной
 

Добрый день!

Давно пользуюсь форумом, но в этот раз не нашёл ничего подходящего. Спасибо всем кто решает тут проблемы!

Необходимо рассчитать без макросов (сейчас идёт расчёт через них, что замедляет файл), покрытие в днях через параметр и суммируемый ряд:

Пример:

Код
151 - целевой параметр (ячейка А1)ряд суммируемых значений (прогноз),
 ряд длинный (B1 и далее ...)

125 148 542 ...

покрытие (искомое)

в данном кейсе значение покрытия
365/12 * (1 + 26/148)

При этом:

  • Вложенный if не подходит (слишком длинный ряд)
  • Анализ данных не подходит, т.к. значение должно автоматически пересчитываться при изменении любой из задействованных ячеек
  • Макрос скорее не подходит, т.к. отключается многопоточность и срабатывает при изменении любой ячейки и/или срабатывании любого другого макроса
Изменено: Максим - 22.10.2020 15:22:51 (Некорректное отображение)
 
Максим, файлик бы посмотреть.... а так... ждите экстрасенсов, они иногда сюда заходят.

Цитата
Максим написал:
Макрос скорее не подходит,
в таких случаях макрос, если правильно написан, как правило работает быстрее формул.
и, да... не надо писать через строчку - читать не очень удобно.
Изменено: Михаил Витальевич С. - 22.10.2020 15:26:35
 
К сожалению с компьютера не пропускает, так что приходится писать с тапка. Отсюда и проблемы с форматированием и отсутствие файла.

Формул с таким расчётом около 1000 на лист + добавочные макросы. Проблема не в самом макросе, а в его однопоточности (1 расчёт за раз VS количество потоков за раз при расчёте формулами) и то что при вызове других макросов все формулы пересчитываются только по необходимости, а расчет покрытий постоянно даже при вызове функций
 
Цитата
Максим написал:
К сожалению с компьютера не пропускает
Если хотите, я выложу, можете прислать мне на почту, скайп, ватсап или телеграмм - все в профиле.
Если, конечно, файл по правилам - не более 300 Kb.
зы.
без файла - разговор ни о чем.
Изменено: Михаил Витальевич С. - 22.10.2020 15:51:10
 
Цитата
Михаил Витальевич С. написал:
Если хотите
Привет, Михаил.
Если бы хотел, то на том же тапке набрал бы в любом Excelеподобном софте набор исходных данных. В наш век повсеместного распространения смартфонов отмазка
Цитата
Максим написал:
с компьютера не пропускает,
сродни Питерской - мосты развели :)
 
Михаил, спасибо за предложение, выслал пример Вам на почту.

Андрей, будьте добрей.
 
Андрей, привет!

от Максим,
Цитата
Строчку прикладываю только одну, но их много и не на одном листе.
Максим, так у вас не макрос, а UDF. по скорости они сильно различаются...
 
Цитата
Михаил Витальевич С. написал:
Максим , так у вас не макрос, а UDF
Михаил, спасибо, не знал что они отличаются по скорости. Что вы можете порекомендовать исходя из примера и того что пересчёты по кнопке заблокированы решением пользователей?
 
Цитата
Максим написал:
пересчёты по кнопке заблокированы решением пользователей
странное решение.
Можно не по кнопке, а кликом по ячейке, что, в принципе, практически одно и тоже.
Цитата
Максим написал:
Что вы можете порекомендовать исходя из примера
пока ничего, т.к. неизвестно, что здесь считается. С UDF пока не разбирался...
 
Посмотрел функцию, особо не понял методику расчётов, но вот эта строка  
Код
LookVal = WorksheetFunction.Transpose(DispatchRange.Value)
явно лишняя.
Изменено: Михаил Витальевич С. - 22.10.2020 17:17:03
Страницы: 1
Наверх