При Попытке Вычисления Одной Или Нескольких Формул Ресурсы Excel Закончились Что Это Значит • Определение проблемы
В Excel закончились ресурсы при попытке вычислить одну или несколько формул
Я получил сообщение об ошибке «Excel исчерпали ресурсы при попытке вычислить одну или несколько формул» на ОДИН моих компьютеров (из 2).
Мой рабочий лист содержит: (На одном листе, а не в книге, есть формулы на другом листе)
Когда я запускаю excel / vba для действия «Рассчитать лист» (только текущий рабочий лист), программа выдает следующее сообщение об ошибке:
ни на одном из них я не «обновляю» сводную таблицу в (Excel или VBA) или «Рассчитываю лист» в (Excel или VBA)
мой компьютер разработки с 2 ГБ ОЗУ может работать без проблем,
другой компьютер с 6 ГБ ОЗУ показал ran out of resources сообщение об ошибке
Работа с одним и тем же набором данных, с тем же файлом Excel
Я также заметил, что на моем компьютере разработки он использует ~ 1,2 ГБ ОЗУ, а на нерабочем ПК он использует 900 МБ ОЗУ до нажатия кнопки «Обновить» / «Рассчитать».
Нерабочий компьютер может обрабатывать данные в пределах 100 000 строк данных.
- Почему он работает на компьютере с меньшим объемом памяти, но не на компьютере с большим объемом памяти? (главный вопрос)
- Что я могу сделать, чтобы уменьшить объем памяти, используемый Excel? (подвопрос) (кроме удаления данных)
Любая помощь приветствуется, пожалуйста, укажите мне правильное направление или просто дайте подсказку.
РЕДАКТИРОВАТЬ: Я думаю об удалении формул и перемещении логики в vba, и сделать это путем кэширования данных, возможно, на 10 000 строк. Но это не решит мою проблему, если сводная таблица «обновить» покажет ту же ошибку.
- Странно, что на нерабочем компьютере Больше БАРАН. Можете ли вы проверить, достаточно ли свободной памяти (как физической, так и подкачки) на компьютере, на котором произошла ошибка? В остальном я бы посоветовал оптимизировать или разделить лист, если это возможно. Формулы 1M кажутся слишком большими для листа Excel?
- 3 Хорошо. Тогда зачем переносить строки в Excel? Вы можете настроить Pivot для прямого запроса Oracle. Если не указано указание счетчика, я бы играл так.
- 2 Или даже лучше, если вы используете хотя бы Oracle 11g, тогда он изначально поддерживает запросы PIVOT, тогда работа будет выполняться на стороне сервера, а не локально, и следует избегать любых проблем с ресурсами.
- 1 @Larry, я несколько раз сталкивался с одной и той же проблемой и обычно списывал ее на 32-битную версию Excel. Что касается того, почему он работает на одной машине над другой . Я бы сказал, что это просто способ, которым ОС / установка распределяет ресурсы. Единственные 2 решения, которые я нашел для этого: 1) Написание решений .Net, которые выполняют большую часть работы, а затем макрос Excel вызывает .exe через shell а затем импортируйте уже рассчитанные данные / выполните минимальную очистку. 2) МНОГО поигрался с моим кодом, чтобы попытаться сделать его более эффективным / менее потребляющим память . Удачи .
- 1 2 вещи с головы до ног проверить. 1) есть ли у машины на 6гб другие программы, использующие больше памяти? 2) обе версии Excel ТОЧНО одинаковы (применяются одинаковые обновления и т. Д.)
- Спасибо за предложение, сейчас пробую, нашел хорошую ссылку add-ins.com/support/…
- Что касается формул, я не использую какие-либо встроенные или определяемые пользователем функции Volatile, но я думаю об использовании Selection.Calculate и выбираю только несколько строк за раз.
спасибо за все предложения, чтения и помощь. Я решил проблему
- Пошаговое преобразование всех формул в значения на ~ 100 000 строк — Это уменьшит объем памяти, занимаемой Excel, на 10%
- Удалены все ненужные данные / рабочие листы в книге (необработанные данные до обработки данных) — Это уменьшает объем памяти, удерживаемой Excel, на 40%
Похоже, вы создаете очень большие листы Excel. 32-разрядные приложения могут использовать только до 2 ГБ ОЗУ, если их нельзя настроить на использование до 3,2 ГБ с помощью специального «переключателя». Таким образом, 32-разрядная версия Excel фактически исчерпывает память после 2 ГБ.
Одна из возможностей — увеличить размер файла подкачки Windows. Я никогда не позволяю окнам управлять файлом подкачки. Я установил его на 1,5X физической памяти и установил минимальный и максимальный размер файла подкачки ТО ЖЕ. Это предотвращает фрагментацию ОЗУ. Поэтому, если у вас 4 ГБ ОЗУ, установите значение 6144/6144 МБ мин / макс.
Ответ — перейти на 64-разрядную версию Excel. Он может работать с гораздо большим диапазоном памяти, а также, как правило, намного быстрее и является подходящим инструментом для работы, если у вас есть большая электронная таблица.
Один возможно Причина, по которой ему могут не хватить ресурсов на машине с 6 ГБ, а не на машине с 2 ГБ, заключается в том, что сама Windows требует больше ресурсов для управления 6 ГБ памяти, чем для управления 2 ГБ памяти.
Это была известная проблема в 32-битной Windows (и даже большая проблема в 16-битной Windows). Предполагается, что она будет решена на 64-битных системах, но .
В любом случае можно протестировать: отключить лишнюю оперативную память и посмотреть, исчезнет ли проблема.
Оптимизация с помощью Excel Solver.
- Выберите необходимую ячейку, например В1.
- Начните ввод формулы со знака=.
- Введите число 25, затем оператор (знак -).
- Введите ссылку на первый операнд, например щелчком мыши на нужную ячейку А1.
- Введите следующий оператор(знак +).
- Щелкните мышью в той ячейке, которая является вторым операндом в формуле.
- Завершите ввод формулы нажатием клавиши Enter. В ячейке В1 получите результат.
Бели при вводе формул или данных допущена ошибка, то в результирующей ячейке появляется сообщение об ошибке. Первым символом всех значений ошибок является символ #. Значения ошибок зависят от вида допущенной ошибки.
А | B | С | D | Е | F | |
1 | Распределение сотрудников по образованию | |||||
2 | Магнолия | Лилия | Фиалка | Всего | ||
3 | Высшее | 25 | 20 | 9 | ||
4 | Среднее спец. | 28 | 23 | 21 | ||
5 | ПТУ | 27 | 58 | 20 | ||
6 | Другое | 8 | 10 | 9 | ||
7 | Всего | 88 | 111 | 59 | ||
8 | Без высшего | 63 | 91 | 50 |
Функция ЕСЛИ в Excel с примерами нескольких условий
Количество проданных единиц зависит от стоимости рекламы на единицу и, следовательно, является бюджетом на квартал / Adv. Стоимость за единицу. Обратите внимание, что мы использовали функцию Min, чтобы убедиться, что нет. единиц, проданных в
Публикуя свою персональную информацию в открытом доступе на нашем сайте вы, даете согласие на обработку персональных данных и самостоятельно несете ответственность за содержание высказываний, мнений и предоставляемых данных. Мы никак не используем, не продаем и не передаем ваши данные третьим лицам.