При Попытке Вычисления Одной Или Нескольких Формул Ресурсы Excel Закончились Что Это Значит • Определение проблемы

В Excel закончились ресурсы при попытке вычислить одну или несколько формул

Я получил сообщение об ошибке «Excel исчерпали ресурсы при попытке вычислить одну или несколько формул» на ОДИН моих компьютеров (из 2).

Мой рабочий лист содержит: (На одном листе, а не в книге, есть формулы на другом листе)

Когда я запускаю excel / vba для действия «Рассчитать лист» (только текущий рабочий лист), программа выдает следующее сообщение об ошибке:

ни на одном из них я не «обновляю» сводную таблицу в (Excel или VBA) или «Рассчитываю лист» в (Excel или VBA)

мой компьютер разработки с 2 ГБ ОЗУ может работать без проблем,

другой компьютер с 6 ГБ ОЗУ показал ran out of resources сообщение об ошибке

Работа с одним и тем же набором данных, с тем же файлом Excel

Я также заметил, что на моем компьютере разработки он использует ~ 1,2 ГБ ОЗУ, а на нерабочем ПК он использует 900 МБ ОЗУ до нажатия кнопки «Обновить» / «Рассчитать».

Нерабочий компьютер может обрабатывать данные в пределах 100 000 строк данных.

  1. Почему он работает на компьютере с меньшим объемом памяти, но не на компьютере с большим объемом памяти? (главный вопрос)
  2. Что я могу сделать, чтобы уменьшить объем памяти, используемый 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 и выбираю только несколько строк за раз.

спасибо за все предложения, чтения и помощь. Я решил проблему

  1. Пошаговое преобразование всех формул в значения на ~ 100 000 строк — Это уменьшит объем памяти, занимаемой Excel, на 10%
  2. Удалены все ненужные данные / рабочие листы в книге (необработанные данные до обработки данных) — Это уменьшает объем памяти, удерживаемой 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 закончились ресурсы при попытке вычислить одну или несколько формул | 2024
При тиражировании формулы данного примера с относительными ссылками в ячейке С4 появляется сообщение об ошибке (#ЗНАЧ!), так как изменится относительный адрес ячейки В1, и в ячейку С4 скопируется формула =В2*В4;
Знайка, самый умный эксперт в Цветочном городе
Мнение эксперта
Знайка, самый умный эксперт в Цветочном городе
Если у вас есть вопросы, задавайте их мне!
Задать вопрос эксперту
Имена в формулах легче запомнить, чем адреса ячеек, поэтому вместо абсолютных ссылок можно использовать именованные области одна или несколько ячеек. Если же вы хотите что-то уточнить, я с радостью помогу!
Каждое ограничение удовлетворяет требованию линейной модели. Это означает, что каждое ограничение оценивается путем сложения членов формы (изменяющейся ячейки) * (константы) и сравнения сумм с константой.
Показать итерацию

Оптимизация с помощью Excel Solver.

  1. Выберите необходимую ячейку, например В1.
  2. Начните ввод формулы со знака=.
  3. Введите число 25, затем оператор (знак -).
  4. Введите ссылку на первый операнд, например щелчком мыши на нужную ячейку А1.
  5. Введите следующий оператор(знак +).
  6. Щелкните мышью в той ячейке, которая является вторым операндом в формуле.
  7. Завершите ввод формулы нажатием клавиши 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
Знайка, самый умный эксперт в Цветочном городе
Мнение эксперта
Знайка, самый умный эксперт в Цветочном городе
Если у вас есть вопросы, задавайте их мне!
Задать вопрос эксперту
РЕДАКТИРОВАТЬ Я думаю об удалении формул и перемещении логики в vba, и сделать это путем кэширования данных, возможно, на 10 000 строк. Если же вы хотите что-то уточнить, я с радостью помогу!
Одна из возможностей — увеличить размер файла подкачки Windows. Я никогда не позволяю окнам управлять файлом подкачки. Я установил его на 1,5X физической памяти и установил минимальный и максимальный размер файла подкачки ТО ЖЕ. Это предотвращает фрагментацию ОЗУ. Поэтому, если у вас 4 ГБ ОЗУ, установите значение 6144/6144 МБ мин / макс.

Функция ЕСЛИ в Excel с примерами нескольких условий

Количество проданных единиц зависит от стоимости рекламы на единицу и, следовательно, является бюджетом на квартал / Adv. Стоимость за единицу. Обратите внимание, что мы использовали функцию Min, чтобы убедиться, что нет. единиц, проданных в

Оставить отзыв

Публикуя свою персональную информацию в открытом доступе на нашем сайте вы, даете согласие на обработку персональных данных и самостоятельно несете ответственность за содержание высказываний, мнений и предоставляемых данных. Мы никак не используем, не продаем и не передаем ваши данные третьим лицам.