Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel: Больше ячеек VS сложные формулы / 25 сообщений из 26, страница 1 из 2
27.09.2010, 16:41
    #36868341
Maxim Radchenko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
Преамбула:
Есть сложная модель. Представляет собой екселевский док с 40-50 тыс строк и 150-200 полей (50-60 мб). Она и так еле ворочается - отжирает по 2гб памяти, долго открывается, долго производятся любые изменения в формулах. Показываю начальству - начинают ворчать, что сложные формулы, очень трудно понять, инвесторы не захотят в этом разбираться и пошлют всех подальше :(

Суть вопроса:
Я могу упростить формулы, увеличив количество стоблцов (разделив формулы на части). Сделает это модель шустрее или нет?

Пример вычисления:
В каждой строке считается определнный коэффициент f для каждого месяца. Он представляет собой последовательное произведение нескольких других коэффициентов q n . Для i столбцов (i - количество месяцев, обычно 60-80) мы имеем в каждой n-ой ячейке (n от 1 до i) произведение[k от 1 до n](q k )
Формула не сложная, но для большого количества строк считается довольно долго. Соответственно, я могу упростить формулу, добавив i столбцов (по 1 для каждого месяца), где каждое следующее поле вычисляется, как предыдущее умноженное на q n . Это снизит сложность формул, но добавит к существующим 150-200 полям еще 60-80.

Таким образом, что ексель лучше "пережует", более сложные формулы или 2,5-4 млн ячеек с простыми формулами? Очевидно, что для понимания легче добавить колонок, но как оно будет работать - не знаю.

Всем заранее спасибо. Извиняюсь, если что непонятно изложил, замучен работой по самое некуда :(
...
Рейтинг: 0 / 0
27.09.2010, 16:52
    #36868363
-O_o-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
Maxim Radchenko файл тормозит из за того, что он обновляет данные. Хотел спросить, данные откудова берутся? Сводная или вручную вносите? Если сводная, то поставте в свойствах не сохранять данные. Будет меньше занимать места и быстрее открываться. Пока это все что я могу сказать.
...
Рейтинг: 0 / 0
27.09.2010, 17:39
    #36868479
fortik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
формулы в книгах занимают очень много места, поэтому при добавлении колонок и размер файла значительно вырастет, и тормозить больше будет.
А вообще с таким немаленьким объемом данных нужно переходить на что-то более серьезное чем Excel
...
Рейтинг: 0 / 0
27.09.2010, 17:42
    #36868489
Maxim Radchenko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
-O_o-,

Данные вносятся вручную. Самые "заколебучие" тормоза - при попытке вставить строку/столбец посреди модели. Для того, чтобы заполнить формулами 20 тыс строк оставлял на ночь :( Один из заколебучих моментов, что когда модель считается, то задействуются все ядра процессора, а когда я "протягиваю" (кажется, по-человечески это называется "автозаполнение") формулы - только одно и выполняет это мучительно долго....
...
Рейтинг: 0 / 0
27.09.2010, 17:42
    #36868491
Maxim Radchenko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
fortik,
На что, например?
...
Рейтинг: 0 / 0
27.09.2010, 17:46
    #36868505
fortik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
MS Access - расчеты, завершающая стадия - Excel
...
Рейтинг: 0 / 0
27.09.2010, 17:49
    #36868517
fortik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
ну или как вариант - перенести формулы в макросы (WorksheetFunction), заполнять только результаты и не циклом, а сразу массивом (т.е. создаем массив Array(i,j), в макросе заполняем его значения, а потом sheet("лист1").Range(...)=Array())
...
Рейтинг: 0 / 0
27.09.2010, 17:51
    #36868523
fortik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
+ в макросе можно использовать несложные формулы и не добавлять дополнительные столбцы
- потрудиться чтобы циклов поменьше было
...
Рейтинг: 0 / 0
27.09.2010, 17:56
    #36868549
Maxim Radchenko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
fortik,
Я не силен в Access, но с таким же успехом я могу загнать все в базу MS SQL Server, все необходимые assumptions моей модели передать через MS Query и получить результат назад в Excel. Но это не наглядно. Моя модель должна быть наглядной и понятной для коллег-аналитиков и начальства. Оптимальный вариант с этой точки зрения - Excel или что-то подобное (spreadsheet).
...
Рейтинг: 0 / 0
27.09.2010, 18:08
    #36868579
Maxim Radchenko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
fortik,
А по поводу идеи перенести все в макросы - думаю, решение практичное, но теряет одно из основных преимуществ Екселя - наглядность.

Но все равно, большое спасибо за советы.
...
Рейтинг: 0 / 0
27.09.2010, 18:10
    #36868586
Shamanus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
Maxim Radchenkofortik,
Я не силен в Access, но с таким же успехом я могу загнать все в базу MS SQL Server, все необходимые assumptions моей модели передать через MS Query и получить результат назад в Excel. Но это не наглядно. Моя модель должна быть наглядной и понятной для коллег-аналитиков и начальства. Оптимальный вариант с этой точки зрения - Excel или что-то подобное (spreadsheet).


цитируя одного из участников данного форума "Один пытается отрубить себе руку, чтобы проверить не легче локтем забивать гвозди, другие ему помогают"....

Попробуйте отрубить руку так:

Сложную формулу превратить в некий VBA вариант и сделать help к этим формулам. А для увеличения быстродействия вычислениями заниматься только в том сегменте где это требуется. Ну например ссылается формула на Range. Вы не весь Range перекалькулируете, а только те ячейки, которые имеют определенный признак Вашего коэффициента.

Или загоняете весь Range в рекордсет и sql-ите его.

ну в общем чтонить в таком духе. Имхо 10 маленьких формул не будут быстрее 100
тут нужно именно калькуляцию упрощать. Учить эксель уходить от ненужых расчетов.


А проверить вы это можете ручками
возьмите 5% своего документа и в макросе посчитайте время выполнения первого варианта и второго. Есть такой метод у активщит - калькулейт.
...
Рейтинг: 0 / 0
27.09.2010, 18:12
    #36868599
Shamanus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
Maxim Radchenkofortik,
А по поводу идеи перенести все в макросы - думаю, решение практичное, но теряет одно из основных преимуществ Екселя - наглядность.

Но все равно, большое спасибо за советы.

если правильно описать формулу (название переменных и т.п.) наглядность не пропадет
...
Рейтинг: 0 / 0
28.09.2010, 01:29
    #36869018
vikttur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
Не согласен с утверждением, что раздробленная на части формула "тормознутее" целой.
Вернее, не совсем согласен. Все зависит от того, какая исходная формула.
Например, формула массива, в которой несколько раз обсчитывается диапазон, будет работать медленнее, чем облегченные части, которые не будут выполнять лишнего.
Ускорения расчетов можно добиться и усложнением формул. Пример из практики - файл с массой ВПР . При введении проверки через ЕСЛИ значительная часть функций была отсечена, время пересчета уменьшилось на треть.
...
Рейтинг: 0 / 0
28.09.2010, 12:29
    #36869675
Maxim Radchenko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
vikttur,

В данном случае будет меньше вычислений, но и без того не маленький файл раздуется еще больше, что сделает работу ним более тормознутой.

Кстати, vlookup часто можно заменить на sumif/sumifs ,если записи уникальны. Кто-то знает, какие особенности работы этих формул? Что быстрее в каких случаях?
...
Рейтинг: 0 / 0
28.09.2010, 12:50
    #36869726
Serge 007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
Maxim Radchenko
Кстати, vlookup часто можно заменить на sumif/sumifs ,если записи уникальны. Кто-то знает, какие особенности работы этих формул? Что быстрее в каких случаях?ВПР быстрее СУММЕСЛИ
...
Рейтинг: 0 / 0
29.09.2010, 02:31
    #36871355
vikttur
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
ВПР ищет до первого вхождения, СУММЕСЛИ лопатит весь массив.
Если искомого значения нет, ВПР нужно подпереть костылем - проверкой на ошибку.
...
Рейтинг: 0 / 0
29.09.2010, 13:15
    #36872090
Весельчак
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
Как и Maxim Radchenko fortik,
А по поводу идеи перенести все в макросы - думаю, решение практичное, но теряет одно из основных преимуществ Екселя - наглядность.

Предложу пойти дальше, чем просто считать все в макросах.
После подсчета Вы получаете файл с посчитанными данными(без формул), но никто не мешает:
1) создать дополнительный лист, в котором в аналогичных ячейках будут храниться формулы, по которым все считается, как текст
2) или повесить события на правый клик мыши по ячейке(или что-либо подобное), по которому будет появляться форма с описанием, того как считалась выбранная ячейка.
3) или еще что-нибудь :)
...
Рейтинг: 0 / 0
29.09.2010, 13:19
    #36872103
Весельчак
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
Откуда эти "Как и" взялись... это очепятка была )

Ко второму пункту прошлого поста - можно еще по клику по посчитанной ячейке выделять цветом, те от которых она зависит.
...
Рейтинг: 0 / 0
04.10.2010, 10:31
    #36879696
Maxim Radchenko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
Пока все решилось использованием Table. Ячейки заполняются формулами довольно быстро, считается тоже. Те же рассчеты для 100 000 записей обрабатываются намного быстрее, чем простыми формулами для 25 000.
...
Рейтинг: 0 / 0
04.10.2010, 12:09
    #36879895
Shamanus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
Maxim Radchenko,

что такое Table? А разве до этого у Вас не таблицы были?
...
Рейтинг: 0 / 0
04.10.2010, 12:24
    #36879930
Maxim Radchenko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
Shamanus,
Table это вот такая штука, которая появилась в 2007 екселе.
http://www.google.com/search?aq=0&oq=excel+2007+table&sourceid=chrome&ie=UTF-8&q=excel+2007+tables

Там немного менее удобно писать формулы, зато потом они работают для любого количества строк без изменения.
...
Рейтинг: 0 / 0
04.10.2010, 13:11
    #36880065
Shamanus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
Maxim Radchenko,

это не фишка 2007 экселя, это умеет и 2003. Называется список.

и кстати, процесс, который при этом происходит похож на Я чуть ранееИли загоняете весь Range в рекордсет и sql-ите его.читайте тут
...
Рейтинг: 0 / 0
04.10.2010, 14:04
    #36880265
Maxim Radchenko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
Shamanusчитайте тут [/quot]

Это разные вещи, насколько я знаю.
...
Рейтинг: 0 / 0
04.10.2010, 14:11
    #36880291
Shamanus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
Maxim Radchenko
Это разные вещи, насколько я знаю.

а Вы попробуйте потом расскажете
По функционалу имхо одно и тоже кроме свистелки перделки в 2007 в виде стилей оформления.
...
Рейтинг: 0 / 0
04.10.2010, 14:54
    #36880418
Maxim Radchenko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel: Больше ячеек VS сложные формулы
Shamanus,

Использую и то и другое постоянно.

Data tables чаще всего применяю для sensitivity analysis.

С помощью tables удобно оформлять то, что должно быть как база данных (список товаров и т.п.). Потом у тебя есть named range к которому ты можешь обращаться как к базе (напр, формула =sum(list[amount]) выдает сумму поля amount для всех записей в таблице list). Очень удобно то, что когда нужно добавить какое-то количество строк в эту базу, то можно просто их вставить, они включатся в таблицу и автоматически включатся в формулы. Когда сложная модель, это довольно критично, так как пришлось бы перелопатить несколько десятков формул.

Я не очень много работал с 2003 екселем, и возможно чего-то не знаю из истории развития этих фич, но насколько мне сказали, эта фишка появилась в 2007.
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel: Больше ячеек VS сложные формулы / 25 сообщений из 26, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]