Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Как сделать чтобы Excel использовал только оперативную память без использования виртуальной памяти (файла подкачки)?
 
bedvit, vikttur, БМВ, благодарю за помощь.
Как сделать чтобы Excel использовал только оперативную память без использования виртуальной памяти (файла подкачки)?
 
bedvit, согласен 4Гб из оперативки уместить в 16Мб на диске это врятли)))  Это врятли даже с использованием технологии скрытых данных)))
Изменено: garysanders - 24.04.2019 16:55:10
Как сделать чтобы Excel использовал только оперативную память без использования виртуальной памяти (файла подкачки)?
 
Да и даже если уменьшить файл подкачки, то не факт что винда решит не использовать его для экселя, может как раз эксель данные туда и будет выгружать)
Как сделать чтобы Excel использовал только оперативную память без использования виртуальной памяти (файла подкачки)?
 
А в самом экселе нет никаких настроек, чтобы эксель даже в свёрнутом состоянии не "засыпал" или как-нибудь править реестр может?
Я пытался найти программу для управления оперативной памятью, но не смог найти что-то подобное. Да и согласен что компьютер постоянно выгружает всё в оперативную память, некоторые сисадмины даже в задачи ставят перезагружать сервера.
А программы управления оперативной памятью может знаете какие?
Как сделать чтобы Excel использовал только оперативную память без использования виртуальной памяти (файла подкачки)?
 
bedvit, всё правильно я так и писал, т.е там и пишется что скорость обмена данных между файлом подкачки и экселем низкая, да и 9Гб свободной оперативной памяти вполне достаточно.
Виртульную память определял через макрос (прикрепляю ниже)
Изменено: garysanders - 24.04.2019 16:17:19
Как сделать чтобы Excel использовал только оперативную память без использования виртуальной памяти (файла подкачки)?
 
vikttur, согласен и это тоже, но на мой взляд эксель не должен в как бы в "спящий режим" входить, т.е. он так себя ведёт только когда окно неактивное.
Как сделать чтобы Excel использовал только оперативную память без использования виртуальной памяти (файла подкачки)?
 
bedvit, забыл написать, гибернации на происходит, просто окно экселя не активное окно, жёстский диск согласен в любом случае медленней чем оперативка, да и жесткий диск сдд и на нём виртульная память (файл подкачки)
Как сделать чтобы Excel использовал только оперативную память без использования виртуальной памяти (файла подкачки)?
 
Извиняюсь  что без конкретики.

В моём примере:
- файл экселя 30Мб
- 800МБ в оперативной памяти эксельских данных
- 3900Мб в виртуальной памяти эксельских данных
- 16Гб оперативная память
- 9Гб свободной оперативной памяти

Ссылка:
https://docs.microsoft.com/ru-ru/office/vba/excel/concepts/excel-performance/excel-improving-calcuat...
Производительность Excel: повышение производительности вычислений
"Подкачка в файл подкачки виртуальной памяти выполняется медленно."
Как сделать чтобы Excel использовал только оперативную память без использования виртуальной памяти (файла подкачки)?
 
Если в эксель тянуть данные из внешнего источника и не держать его активным (например свернуть окно эксель), то он данные подгружает в виртуальную память и они могут (при активирования окна эксель) значительно запаздывать (и на 10 и на 20 минут ...). Читал где-то, что у эксель плохая скорость чтения своих же данных из виртульной памяти. Единственной идеей сделать как-то так чтобы эксель использовал только оперативную память для своих данных без подгрузки их в виртульную память.
Как сделать чтобы эксель "не замораживался" в неактивном режиме? Может есть какие-нибудь внутренние настройки или макросы чтобы он не переходил в "спящий режим". Или есть сторонние программы для решения данной проблемы?
Изменено: garysanders - 24.04.2019 15:19:57
Почему эксель забирает много ресурсов, как оптимизировать?
 
Казанский, БМВ, Благодарю за помощь.
Предполагается изменение констант.
Логическую оптимизацию я немного применил, а плане того что считать рациональнее не каждый раз всё пересчитывать, а логически их применять только к новым данным (насколько это возможно), например к моему примеру плюсовать новые данные к сумме предыдущих по типу:
"Можно создать формулу, =$A1 например в ячейку B1, и =$B1+$A2 ячейку B2, и при необходимости перетаскивать ее.", а потом вычитать путём смещения на определённое количество ячеек.

В качестве обратной связи могу сказать замена СМЕЩ на ИНДЕКС где-то в два раза снизило нагрузку на процессор.
Ещё буду пытаться максимально дробить расчёты для увеличения скорости.

Всем кому интересна тема оптимизации советую ОЧЕНЬ интересные рекомендации по оптимизации "Производительность Excel", лично сам узнал много интересного по данной теме:
https://docs.microsoft.com/ru-ru/office/vba/excel/concepts/excel-performance/excel-improving-calcuat...
Производительность Excel: повышение производительности вычислений
Производительность Excel: улучшения производительности и ограничений
Производительность Excel: советы по оптимизации препятствий производительности

Также если кому интересно, я когда-то давно (в данный момент не интересовался) вкратце рассматривал Матлаб, у него к экселю сеть специальный переходник (по-моему через активикс), так вот через этот мост можно использовать все безграничные возможности Матлаба + через Матлаб можно делать распределённые вычисления. Также можно например создать какую-нибудь функцию запихнув её в специально сделанную дллку, потом зарегистрировать её в операционной системе, потом подгрузить в оперативную память (чтобы скорость не снижалась при чтении с диска). И такими ухищрениями можно добиться почти максимальной на данном оборудовании скорости функции))) Но это для тех, кто хочет максимальную скорость из раздела "хороший пользователь, но не программист" выше - только программирование.
Надеюсь эта информация кому-нибудь может пригодится.
Почему эксель забирает много ресурсов, как оптимизировать?
 
Sanja, Юрий М, Спасибо, буду мучать макрос)))
Почему эксель забирает много ресурсов, как оптимизировать?
 
БМВ, Спасибо, сейчас попробую
Почему эксель забирает много ресурсов, как оптимизировать?
 
vikttur, благодарю за совет, попробую использовать функцию ИНДЕКС
Почему эксель забирает много ресурсов, как оптимизировать?
 
Почему эксель забирает много ресурсов, как оптимизировать?
Здравствуйте форумчане!

На каждую новую строку листа в эксель поступают данные из внешнего источника. После чего, расчитывается среднее значение за 200 и 1000 строк для графика.
Формулы типа =ЕСЛИ($A9<>"";СРЗНАЧ(A9:СМЕЩ(A9;-200;0));)
Но есть ощущение что когда добавляются данные на новую строку, то эксель пересчитывает все предыдущие расчёты средних (которые уже расчитаны) привожу гифку (+ файл-пример) на которой при каждых новых данных происходит:

Может как-то можно сделать чтобы эксель не пересчитывал уже ранее расчитанные данные или можно как-то попытаться оптимизировать? Может даже если есть какие-нибудь программы в которые можно отправлять данные для расчёта и забирать потом обратно результат для того, чтобы не загружать эксель?

В эксель-примере приведены однотипные расчёты только двух средних, а их больше, и в итоге сам процесс экселя в диспетчере задач занимает 1ГБ + ещё 3-4 ГБ занимает в виртуальной памяти на диске, ещё и процессор загружается на 80%, сам файл экселя 50МБ - вцелом всё начинает подтормаживать (((

Может кто-нибудь знает как формулу доработать или как уменьшить нагрузку на эксель?
После появления данных в одних ячейках производить расчет и заносить даные в другие (пустые и без формул) ячейки
 
Есть ещё идея как-то привязать расчитывамые ячейки следующей строки, для того чтобы не вставлять в них формулы, проверять на заполнеие, расчитывать и присваивать формулы из предыдущей ячейки, а потом смещать результаты. Но как это сделать не могу понять. Может есть у кого идеи?
После появления данных в одних ячейках производить расчет и заносить даные в другие (пустые и без формул) ячейки
 
Wild.Godlike, спасибо за ответ. К сожалению, Ваше решение в этом случае не получается применить, потому что если график из примера сделать динамическим через СМЕЩ(), например, по последним 10 значениям (а тем более если по последним 1000 значениям), то график ниже по оси времени последние 10 значений не будут визульно видны, но в графике будут отображаться как значения, т.к. опять же будут определяться как данные.
Изменено: garysanders - 05.11.2018 13:45:07
После появления данных в одних ячейках производить расчет и заносить даные в другие (пустые и без формул) ячейки
 
vikttur, спасибо за ответ.
Цитата
vikttur написал: 1. Предложить назвие темы, отражающее саму задачу. Модераторы заменят
1. Как сделать чтобы после появления данных в одних ячейках производился расчет данных и занесения их в другие (пустые и без формул) ячейки. Или как-то так, просто это вроде то же. что и в названии "Формула расчёта для ячейки в другой ячейке", словом и другими формами представления информации в файле-приложении.

2. Привожу файл-пример где более подробно используя: цвета, график, формулы, а также подробно текстом описана проблема.
Изменено: garysanders - 05.11.2018 13:47:04
После появления данных в одних ячейках производить расчет и заносить даные в другие (пустые и без формул) ячейки
 
IKor,спасибо за ответ, данные идут из внешнего источника, по типу:
Цитата
garysanders написал:
A1 - итоговая ячейка (пустая и без формул)B1 - данные для расчётаC1 - формула для расчёта по данным
и на основе их расчитываются другие ячейки, с которыми и проблемы при попадании на график(
Потому что у данных каждая следующая строка всегда пустая, то по мере появления данных на строке в ячейках, которые строятся на основе формул всегда формулы, а вот они и на графике без расчитанных в них данных и не должны отображаться.  
Изменено: garysanders - 02.11.2018 15:47:25
После появления данных в одних ячейках производить расчет и заносить даные в другие (пустые и без формул) ячейки
 
JayBhagavan, спасибо за ответ, но к сожалению, функцию нет данных - НД() график определяет как данные, ох уж этот Эксель)
После появления данных в одних ячейках производить расчет и заносить даные в другие (пустые и без формул) ячейки
 
V, в столбец В попадают значения из внешнего источника через ДРВ.
Но если просто присваивать ячейке пустые значения, то, например, график опознаёт их как значения.
После появления данных в одних ячейках производить расчет и заносить даные в другие (пустые и без формул) ячейки
 
Цитата
V написал:
1Если(B1="";"";ваша формула)
Извините пока писал не обновлялось.

А макросом как?
После появления данных в одних ячейках производить расчет и заносить даные в другие (пустые и без формул) ячейки
 
a.i.mershik, благодарю за ответ.
Вы имеете ввиду чтобы присваивалось значение "" для ячейки?
Цитата
a.i.mershik написал:
формулой задать что бы отображалась пустая ячейка
Или Вы имеете ввиду что-то другое?
После появления данных в одних ячейках производить расчет и заносить даные в другие (пустые и без формул) ячейки
 
Здравствуйте форумчане.
Подскажите с помощью какой функции/конструкции можно сделать такое:

A1 - итоговая ячейка (пустая и без формул)
B1 - данные для расчёта
C1 - формула для расчёта по данным

Если в B1 попадают данные, то по формулам из C1 расчитывается результат и посылается в A1.

Самое главное - если в B1 не попадают данные, то A1 остаётся пустой и без формул.
Это нужно для того чтобы при использовании ячейки A1 другими функциями/графиками она значилась пустой.

Заранее благодарю за помощь.
Импорт в Excel данных из внешнего источника, Прошу помочь с настройкой импорта данных и изменения формата времени.
 
Благодарю вас БМВ и JayBhagavan за содействие.

Пример "Copy of пример373.xlsm" предложенный БМВ,  примерно то что и нужно.

Используя предложенный JayBhagavan, DDE симулятор максимальная пропускная способность "Copy of пример373.xlsm" файла составляла 9,3 сообщения в секунду, а на RTDServer мои данные шлются со скоростью 4 сообщения в секунду, что больше чем в два раза, а процесс экселя использовал малую нагрузку на процессор. Это я так, вдруг интересно.

И это всё нормально "на костылях", но правда доработать чуть-чуть нужно (ошибки иногда выскакивают, не сохраняются данные и т.д.) да и на реальных данных пока нет возможности опробовать, но уже неплохо.

Словом буду дальше дерзать, если что отпишусь.
Импорт в Excel данных из внешнего источника, Прошу помочь с настройкой импорта данных и изменения формата времени.
 
БМВ, к сожалению примера нет, только данные в реалтайме в эксель понятно как было сделать. Про 10 запросов это я через эксель имел ввиду, через VBA думаю сильно побыстрее будет, но я к сожалению с VBA ещё хуже чем с эксель) Последнюю строку протокола я думаю сделать либо через внутреннюю переменную+1 или давать каждым строкам протокола уникальный номер.
Буду пытаться обновлять знания VBA, да и может в эксель что получится.
Благодарю вас за ответы, а сам ухожу в недры поиска решения)
Да и поздравляю с вашим 6666 сообщением на этой теме)))
Импорт в Excel данных из внешнего источника, Прошу помочь с настройкой импорта данных и изменения формата времени.
 
БМВ, вы имеете ввиду сначала проверять ложь/истина, потом по условию (со встроенной внутренней переменной счётчика строк) копировать на другой лист?
Я не сильно разбираюсь в эксель, но по моему это пять или больше действий будет. При 10 обновлений в секунду или не будет подтормаживать весь процесс?
Или вы другой алгоритм имели ввиду (если не трудно укажите какие функции)?  
Изменено: garysanders - 13.10.2018 20:20:28
Импорт в Excel данных из внешнего источника, Прошу помочь с настройкой импорта данных и изменения формата времени.
 
Jungl, здравствуйте.
Примерно так, т.е. на первом листе данные в режиме реального времени, которые с разной частотой обновляются. На втором листе как бы ведётся журнал истории всех обновлений, причём каждое обновление записывается сверху вниз на отдельной строке.
Импорт в Excel данных из внешнего источника, Прошу помочь с настройкой импорта данных и изменения формата времени.
 
Здравствуйте форумчане.
Прошу помочь в такой если это можно назвать проблеме)

Получается тянуть в эксель из торговой системы через Rtd Server (насколько я понял, по русскоязычному это функция ДРВ https://support.office.com/ru-ru/article/ДРВ-функция-ДРВ-e0cc001a-56f0-470a-9b19-9455dc0eb593) рыночные данные типа:
AskAskSizeLastLastSizeOpenCloseHighLowVolumeLastTime
2772.51402772.2512748.52745.527852732.2527139011539377999
Но вот, несмотря на потраченное время поиска, как из этой строки постоянно обновляющихся данных выносить на другой лист в эксель книге данные.
Т.е. как появились данные - записать первой строкой, далее как только данные обновятся - записать следующей строкой, и т.д.

Хочу обратить ваше внимание что данные тиковые, т.е. как только обновляются так и так и обновляются ячейки, а не с постоянной периодичностью - например раз в секунду. Такое же обновление и у времени которое в формате:
LastTime
1539377999
Которое тоже непонятно как перевести в нормальное отображение, например через "Формат ячеек" и функции: времени, даты - почему-то не получается(
Я эксель не сказал бы что первый раз вижу, но всё же. Да и у меня уже фантазия закончилась по справкам искать и спросить не у кого.
Надеюсь на вашу помощь.
Заранее благодарен.
Страницы: 1
Наверх