При попытке вычисления одной или нескольких формул ресурсы excel закончились что это значит

Обновлено: 07.07.2024

У меня есть книга, чтобы делать "умные" графики за свои расходы. Он работает уже год, и сейчас есть много графиков и расходов. Excel теперь выдает ошибку вне ресурсов, когда я что-то меняю или открываю книгу. Дело в том, что у меня много ресурсов, и его вряд ли кто-нибудь из них.

У меня есть 2 листа, первый лист под названием Expenses имеет 3 столбца [Date, Description, Amount] и около 1500 строк данных. Второй лист имеет LOT (500 или около того) формул, которые все одинаковы и нацелены на "Суммировать все расходы между датой X и Y, где описание соответствует - некоторая игла -". Формула у меня такова:

Можно ли предоставить Excel больше ресурсов? (Я рад за то, что он использовал весь мой плунжер и несколько раз запустил мой процессор).

Есть ли более эффективный способ сделать эту формулу?

Я понимаю, что эта формула создает большую сетку и маскирует список расходов с ней, и что для каждой формулы эта сетка должна создаваться. Должен ли я создать макрос, чтобы сделать это более эффективно? Если бы у меня был макрос, я бы хотел вызвать его из ячейки, как-то вроде

Возможно ли это?

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

Если ваш второй лист использует один и тот же диапазон дат для всех вызовов sumExpenses , тогда он должен быть немного быстрее, поскольку он предварительно суммирует все на первом проходе. Если ваш диапазон дат изменяется в течение всего времени, он просто делает много ничто не работает.

У меня была аналогичная проблема, в которой было несколько формул массива длиной около 150 строк, и я получил эту ошибку, что действительно озадачило меня, потому что на самом деле не так много формул для вычисления. Я связался с нашим ИТ-парнем, и он объяснил следующее, некоторые из которых я понимаю, большинство из которых я не делаю:

Обычно, когда компьютер пытается обрабатывать большие объемы данных, он использует многопоточный расчет, где он использует все 8 процессоров, которые компьютер ткнул себе в заблуждение. Когда многопоточный расчет выключен, компьютер не бросает ошибку "Excel закончил ресурсы. ".

Чтобы отключить многопоточный расчет, перейдите на вкладку "Файл" в книге Excel и выберите "Параметры". В правой части появившегося окна выберите "Дополнительно" и прокрутите вниз до заголовка "Формулы". Под этой рубрикой находится флажок "Включить многопоточный расчет". Разблокируйте его, затем выберите "ОК" и пересчитайте формулы.

Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.

Симптомы

  • Excel не удается выполнить эту задачу с помощью доступных ресурсов. Выберите меньше данных или закрой другие приложения.
  • Из памяти
  • Недостаточно системных ресурсов для полного отображения
  • Для выполнения этого действия не хватает памяти. Попробуйте использовать меньше данных или закрыть другие приложения. Чтобы повысить доступность памяти, рассмотрите:
    • Использование 64-битной версии Microsoft Excel.
    • Добавление памяти на устройство.

    Причина

    Прежде чем исследовать более распространенные причины ошибок памяти, Excel ограничения. Дополнительные сведения можно найти в следующих статьях:

    Если ограничение ресурсов не используется, это наиболее распространенные решения.

    Решение

    Метод 1. Содержимое таблицы

    • Вставка строки или столбца
    • сортировке;
    • Выполнение вычислений
    • Копирование и вклейка
    • Открытие или закрытие книги
    • Запуск VBA

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

    Вычисления

    Рассмотрим этот сценарий:

    У вас есть таблица с 1 миллионом формул на листе, и вы вставляете новый столбец. Это заставит Excel пересчитать все формулы в таблице, настраиваемой для вставленного столбца. Это возможно, в зависимости от сложности вашей таблицы, bitness Excel, и как таблица построена, и какие формулы используются, что вы получаете из ресурсов ошибку.

    Следующие статьи посвящены оптимизации производительности с помощью вычислений:

    Другие элементы таблицы

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

    Настраиваемые представления в общей книге

    Если вы используете функцию "Общая книга" (Обзор ленты > Share Workbook), очистка пользовательских представлений может помочь с доступной памятью. Для этого;

    1. На ленте Просмотр
    2. Настраиваемые представления в диалоговом окте выбрать Удаление

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

    Если проблема не устранена после очистки файла, перейдите к методу 2.

    Метод 2. Проверка и установка последних обновлений

    Возможно, вам придется Windows обновления для автоматической загрузки и установки рекомендуемых обновлений. Установка важных, рекомендуемых и необязательных обновлений зачастую может решить проблемы за счет замены устаревших файлов и устранения уязвимостей. Чтобы установить последние обновления Office, щелкните ссылку, определенную вашей версии Windows и следуйте шагам в этой статье.

    Обновления операционной системы:

    Office обновления:

    Дополнительные сведения о Office обновлениях см. в Office загрузки & обновлений.

    Если проблема не устранена после установки обновлений, перейдите к методу 3.

    Метод 3. Вмешательство надстройок

    Проверьте запущенные надстройки и попробуйте отключить их, чтобы узнать, работает ли Excel правильно. Следуйте указаниям в следующей статье, чтобы отключить надстройки.

    Если после удаления надстройки Excel ошибка, рекомендуется обратиться к производителю надстройки для поддержки.

    Если проблема не устранена после удаления надстройки, перейдите к методу 4.

    Метод 4. Тестирование отключения области предварительного просмотра и сведений в Windows 7

    Если вы работаете Windows 7, попробуйте отключить области предварительного просмотра и сведения в Windows. Вам придется отключить их в трех местах.

    Если проблема не устранена после отключения предварительного просмотра и стемней сведений, перейдите к методу 5.

    Метод 5. Тестирование другого принтера по умолчанию

    Когда Excel запускается, он использует принтер по умолчанию, чтобы помочь отрисовки файла. Попробуйте тестирование с помощью "Автор документов Microsoft XPS" в качестве принтера по умолчанию и узнайте, не будут ли мы продолжать получать ошибку. Для этого выполните указанные ниже действия.

    Если проблема не устранена после изменения принтера по умолчанию, перейдите к методу 6.

    Метод 6. Тестирование без антивируса

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

    Если проблема не устранена после отключения антивируса, перейдите к методу 7.

    Метод 7. Тестирование с 64-битной версией Excel

    Работа с большими Excel файлами может использовать память, доступную 32-Excel приложению. В любом 32-битных приложениях существует ограничение в 2 ГБ.

    Если в процессах требуется использовать более 2 ГБ, необходимо тщательно рассмотреть возможность перехода Microsoft Excel 64-битной версии. 64-битная версия позволит использовать всю доступную физическую оперативную память на компьютере. Если вы заинтересованы в исследовании 64-битных версий, см. 64-bit editions of Office 2013.

    Если проблема не устранена после тестирования на 64-битной основе, перейдите к методу 8.

    Метод 8. Другие приложения потребляют память компьютера, и недостаточно выделяется для Excel

    Дополнительные сведения

    Если сведения в этой статье не помогли устранить ошибку в Excel, выберите один из следующих вариантов:

    У меня есть рабочая тетрадь для составления «умных» графиков моих расходов. Он работает уже год, и сейчас много графиков и расходов. Excel теперь выдает ошибку нехватки ресурсов всякий раз, когда я что-то меняю или открываю книгу. Дело в том, что у меня много ресурсов, и я почти не использую их.

    У меня 2 листа, первый лист с названием Расходы имеет 3 столбца [Дата, Описание, Сумма] и около 1500 строк данных. На втором листе содержится МНОГО (около 500) формул, которые все одинаковы и нацелены на «Суммирование всех расходов между датами X и Y, где описание совпадает с -какой-то иглой-». У меня есть такая формула:

    Могу ли я предоставить Excel больше ресурсов? (Я счастлив, что он использует всю мою память и нагружает мой процессор на несколько минут).

    Есть ли более эффективный способ сделать эту формулу?

    Я понимаю, что эта формула создает большую сетку и маскирует ею мой список расходов, и что для каждой формулы эта сетка должна быть создана. Должен ли я вместо этого создать макрос, чтобы сделать это более эффективно? Если бы у меня был макрос, я бы хотел вызвать его из ячейки как-то вроде

    3 ответа

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

    Если на вашем втором листе используется один и тот же диапазон дат для всех вызовов sumExpenses , тогда он должен быть немного быстрее, поскольку он предварительно суммирует все на первом проходе. Если ваш диапазон дат изменяется повсюду, то он просто выполняет много работы зря.

    У меня была аналогичная проблема, когда было несколько формул массива примерно на 150 строк, и я получил эту ошибку, которая действительно озадачила меня, потому что на самом деле не так много формул для вычисления. Я связался с нашим ИТ-специалистом, и он объяснил следующее, некоторые из которых я понимаю, а большую часть - нет:

    Обычно, когда компьютер пытается обработать большие объемы данных, он использует многопоточные вычисления, в которых используются все 8 процессоров, которые компьютер обманом заставляет думать, что у него есть. Когда многопоточные вычисления отключены, компьютер не выдает ошибку «Excel не хватает ресурсов . ».

    Чтобы отключить многопоточные вычисления, перейдите на вкладку «Файл» в своей книге Excel и выберите «Параметры». В правой части появившегося поля выберите «Дополнительно» и прокрутите вниз до заголовка «Формулы». Под этим заголовком находится флажок «Включить многопоточное вычисление». Снимите флажок, затем выберите «ОК» и пересчитайте формулы.

    Причин может быть много. Мне просто хотелось бы, чтобы Excel сообщил нам, кто из «обычных подозреваемых» (или несколько) совершает преступление, связанное с перегрузкой оперативной памяти в настоящее время.

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

    Чрезмерное использование изменчивых функций СЕГОДНЯ (), СЕЙЧАС () и т. Д.

    Используется слишком много разных форматов

    . в этой последовательности

    Пока вы там, проверьте

    Неработающие ссылки. Формула, основанная на свежем значении из внешних данных, может вернуть ошибку.

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

    Я не обновляю сводную таблицу в (Excel или VBA) или "Вычисляем лист" в (Excel или VBA)

    У меня 2 компьютера:

    оба работают под управлением 64-битной Windows 7,

    оба работают в Excel 2007 32Bit,

    Я запускаю Excel сразу после запуска Windows,

    мой компьютер с 2 ГБ оперативной памяти может работать без проблем,

    Запуск на том же наборе данных, тот же файл Excel

    Я также заметил, что на моем ПК для разработки используется

    1,2 ГБ ОЗУ, а на нерабочем ПК - 900 МБ до нажатия кнопки "Обновить"/"Рассчитать".

    РЕДАКТИРОВАТЬ

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

    Мои вопросы:

    Любая помощь приветствуется, пожалуйста, укажите мне правильное направление или просто дайте подсказку.

    РЕДАКТИРОВАТЬ: я думаю об удалении формул и переместить логику в VBA, и сделать это путем кэширования данных, возможно, на 10000 строк. Но это не решит мою проблему, если "обновить" сводную таблицу будет отображать ту же ошибку.

    Спасибо за помощь.

    старый квест, но все еще действительный для всех версий, я сталкиваюсь с подобными проблемами, когда формулы, которые я использовал, имели слишком большую область действия, даже если большинство полей были пустыми, например: DO_CALCULATION(D1: D100000) потребует значительного количества времени и даже памяти если только ячейки D1: D10 имеют какое-либо значение. Поэтому будьте осторожны, пытаясь подготовить формулы для расширения данных, сохраняйте небольшие диапазоны

    Ответ заключается в обновлении до 64-разрядной версии Excel. Он может охватывать гораздо больший диапазон памяти, а также, как правило, гораздо быстрее и является подходящим инструментом для работы, если у вас большая таблица.

    Так что не имеет значения, если у вас есть 16 или 32 ГБ ОЗУ. Вам нужен 64-битный MS Office, чтобы он мог свободно использовать ОЗУ объемом более 2 ГБ. Только тогда ваша дополнительная память объемом 6 ГБ будет действительно полезна для Excel. В противном случае он столкнется с необходимостью выяснить, как работать только с 2 ГБ ОЗУ, и, скорее всего, начнет использовать файл подкачки на жестком диске.

    Одной из возможностей будет увеличение размера файла подкачки Windows. Я никогда не позволяю Windows управлять файлом подкачки. Я установил его в 1,5X физической памяти и установил минимальный и максимальный размер файла подкачки. Это предотвращает фрагментацию оперативной памяти. Поэтому, если у вас 4 ГБ ОЗУ, установите значение 6144/6144 МБ мин / макс.

    Одна из возможных причин, по которой у него могут заканчиваться ресурсы на машине с 6 ГБ, а не на машине с 2 ГБ, заключается в том, что сама Windows требует больше ресурсов для управления 6 ГБ памяти, чем для 2 ГБ памяти.

    Это была известная проблема в 32-битной Windows (и еще большая проблема в 16-битной Windows). Это должно быть решено на 64-битных системах, но .

    В любом случае, можно проверить: отключите дополнительную оперативную память и посмотрите, исчезнет ли проблема.

    Читайте также: