Цитата |
---|
daredavil написал: то есть каждая ячейка должна содержать формулу? |
Нет такого требования, а есть требования, которое я уже публиковал:
Для поиска решения формула целевой ячейки обязательно должна зависеть от значений изменяемых надстройкой ячеек
У Вас следующие ошибки:
1. Нет формул в столбце G, а должны быть.
2. Неправильно записаны 4 нижних ограничения (см. методичку)
Чтобы исключить опечатки лучше использовать именно те ячейки, которые приведены в методичке.
Перед началом расчета нужно задать начальные значения количества бумаг в портфеле (единичное по методичке)
Эволюционный метод решения можно продолжить после сообщения о достижении максимального времени и остановить в любой момент по ESC.
Текущее значение отображается в статусной строке — посматривайте на него и остановите, когда значение будет достаточно оптимальным (можно сравнивать с тем, что в методичке). В приложении — исправленный вариант с результатом, лучшим (5.02%), чем в методичке (4.73%). С Вас — оценка не ниже 5.02 за лабораторную
«Поиск решения» является надстройкой Эксель, посредством которой возможно подобрать лучшее решение задач на основе указанных ограничений. Функция дает возможность составлять график работников, распределять расходы либо инвестиционные вложения. Знание принципа работы такой функции поможет сэкономить время и силы.
Содержание
- Что такое Поиск решений
- Как включить функцию «Поиск решения»
- О моделях
- Подготовительный этап
- Применение функции и ее настройка
- Загрузить/сохранить параметры Поиска решений
- Простой пример использования Поиска решения
- Поиску решения не удалось найти решения
- Заключение
Что такое Поиск решений
В комплексе с различными другими опциями в Excel существует одна менее популярная, однако крайне нужная функция «Поиск решения». Невзирая на то, что отыскать ее бывает нелегко, ознакомление с ней и использование помогает в разрешении множества задач. Опция обрабатывает данные и выдает оптимальное решение из допустимых. В статье описывается, как непосредственно функционирует «Поиск решения».
Как включить функцию «Поиск решения»
Невзирая на эффективность, рассматриваемая опция не находится на видном месте панели инструментов либо контекстного меню. Большинство юзеров, которые работают в Эксель, не знают о ее наличии. По умолчанию такая функция выключена, для ее отображения следует произвести такие действия:
- Открываем «Файл», нажимая на соответствующее название.
- Кликаем на раздел «Параметры».
- Затем выбираем подраздел «Надстройки». Тут будут отображены все надстройки программы, внизу появится надпись «Управление». С правой стороны от нее будет всплывающее меню, где следует выбрать «Надстройки Excel». Потом нажимаем «Перейти».
1 - На мониторе высветится дополнительное окно «Надстройки». Устанавливаем флажок возле искомой функции и кликаем «ОК».
- Нужная функция появится на ленте справа от раздела «Данные».
О моделях
Данная информация будет крайне полезна тем, кто лишь ознакамливается с понятием «оптимизационная модель». До того, как воспользоваться «Поиском решения», рекомендуется исследовать материалы о методах построения моделей:
- рассматриваемая опция даст возможность выявить оптимальный метод, чтобы осуществить выделение средств на вложения, загрузку помещения, поставку товаров либо иные действия, где необходимо отыскать оптимальный вариант решения.
- «Оптимальный метод» в такой ситуации будет означать: увеличение доходов, снижение трат, улучшение качества и др.
Типовые задачи по оптимизации:
- Определение плана производства, во время чего прибыль от продажи выпущенных товаров будет максимальной.
- Определение карт перевозок, во время чего траты на транспортировку минимализируются.
- Поиск распределения нескольких станков по различным видам работ, чтобы траты на производство были снижены.
- Определение наименьшего срока выполнения работ.
Важно! Чтобы формализовать поставленную задачу, необходимо создать модель, отражавшую основные параметры предметной области. В Эксель модель является комплексом формул, использующих переменные. Рассматриваемая опция подыскивает такие показатели, чтобы целевая функция была больше (меньше) либо равнялась указанному значению.
Подготовительный этап
Перед тем как разместить функцию на ленте, необходимо изучить принцип функционирования опции. К примеру, есть сведения по реализации товаров, указанные в таблице. Задачей является назначение для каждого наименования скидки, которая составляла бы 4.5 млн. рублей. Параметр отображается внутри ячейки, именуемой целевой. Отталкиваясь от нее, рассчитываются прочие параметры.
Нашей задачей станет вычисление скидки, на которую умножаются суммы по реализации различной продукции. Эти 2 элемента связываются формулой, прописываемой так: =D13*$G$2. Где в D13 прописывается суммарное количество по реализации, а $G$2 – адрес искомого элемента.
Применение функции и ее настройка
Когда формула будет готова, необходимо использовать непосредственно саму функцию:
- Нужно переключиться в раздел «Данные» и нажать «Поиск решения».
- Откроются «Параметры», где задаются требуемые настройки. В строке «Оптимизировать целевую функцию:» следует указать ячейку, где выводится сумма по скидкам. Есть возможность прописать координаты самостоятельно или выбрать из документа.
- Далее нужно перейти к настройкам прочих параметров. В разделе «До:» есть возможность задать максимальную и минимальную границу либо точное число.
- Потом заполняется поле «Изменяя значения переменных:». Здесь вносятся данные искомой ячейки, которая содержит конкретное значение. Координаты прописываются самостоятельно или кликается соответствующая ячейка в документе.
- Затем редактируется вкладка «В соответствии с ограничениями:», где задаются ограничения применяемых данных. К примеру, исключаются десятичные дроби либо отрицательные числа.
- После открывается окно, которое позволяет добавлять ограничения при расчетах. В начальной строке указываются координаты ячейки либо целого диапазона. Следуя условиям задачи, указываются данные искомой ячейки, где выводится показатель скидки. Затем определяется знак сравнения. Устанавливается «больше либо равно», чтобы конечное значение не было со знаком «минус». «Ограничение», устанавливаемое в 3 строке, в такой ситуации равняется 0. Возможно выставить также ограничение посредством «Добавить». Последующие действия аналогичны.
- Когда выполнены вышеописанные действия, в самой большой строке появляется установленное ограничение. Перечень бывает большим и будет зависеть от сложности расчетов, однако в конкретной ситуации достаточно 1 условия.
- Кроме того, возможно выбирать другие дополнительные настройки. Внизу с правой стороны присутствует опция «Параметры», которая позволяет это сделать.
- В настройках можно выставить «Точность ограничения» и «Пределы решения». В нашей ситуации использовать эти опции нет нужды.
- Когда настройки завершены, запускается сама функция – нажимается «Найти решение».
- После программа проводит требуемые расчеты и выдает конечные расчеты в необходимых ячейках. Потом открывается окно с результатами, где сохраняются/отменяются итоги либо настраиваются параметры поиска по новой. Когда данные соответствуют требованиям, то найденное решение сохраняется. Если заранее установить отметку «Вернуться в диалоговое окно параметров поиска решения», будет открыто окно с настройками функции.
- Есть вероятность, что расчеты оказались ошибочными или есть необходимость в изменении исходных данных в целях получения других показателей. В такой ситуации требуется вновь открыть окно с настройками и перепроверить сведения.
- Когда данные точны, можно воспользоваться альтернативным методом. В этих целях нужно нажать на текущий вариант и из появившегося списка выбрать самый подходящий способ:
- Поиск решения посредством обобщенного градиента для нелинейных задач. По умолчанию применяется такой вариант, однако возможно воспользоваться и другими.
- Поиск решения для линейных задач на основе симплекс-метода.
- Использование эволюционного поиска в целях выполнения задачи.
Внимание! Когда вышеназванные варианты не смогли справиться с задачей, следует осуществить проверку данных в настройках снова, так как это зачастую бывает основной ошибкой в таких задачах.
- Когда получена искомая скидка, остается ее применить для подсчета суммы скидок по каждому наименованию. В этих целях выделяется начальный элемент столбика «Сумма скидки», прописывается формула «=D2*$G$2» и жмется «Enter». Значки доллара проставляются, чтобы во время растягивания формулы на смежные строчки G2 не изменялась.
- Теперь будет получена сумма скидки для начального наименования. Затем следует навести курсор на угол ячейки, когда он станет «плюсом», зажимается ЛКМ и формула растягивается на необходимые строки.
- После этого таблица будет окончательно готова.
Загрузить/сохранить параметры Поиска решений
Данная опция полезна при применении различных вариантов ограничений.
- В меню «Параметры поиска решения» следует нажать «Загрузить/сохранить».
- Вводится диапазон для области модели и нажимается «Сохранить или Загрузить».
Во время сохранения модели вводится ссылка на 1 ячейку пустого столбца, где будет размещена модель оптимизации. В процессе загрузки модели вводится ссылка на весь диапазон, где содержится модель оптимизации.
Важно! Для сохранения последних настроек в меню «Параметры поиска решения» сохраняется книга. Каждый лист в ней имеет собственные параметры надстройки «Поиск решения». Помимо того, для листа возможно выставить больше 1 задачи при нажатии кнопки «Загрузить или сохранить» в целях сохранения отдельных задач.
Простой пример использования Поиска решения
Нужно провести загрузку контейнера тарой, чтобы его масса была максимальной. Емкость обладает объемом в 32 куб. м. Наполненная коробка имеет вес в 20 кг, ее объем равен 0,15 куб. м. Ящик – 80 кг и 0,5 куб. м. Требуется, чтобы общее число тары составляло не менее 110 шт. Данные организовываются так:
Переменные модели отметим зеленым. Целевая функция выделяется красным. Ограничения: по наименьшему количеству тары (больше либо равно 110) и по массе (=СУММПРОИЗВ(B8:C8;B6:C6) – суммарный вес тары, находящейся в контейнере.
По аналогии считаем общий объем: =СУММПРОИЗВ(B7:C7;B8:C8). Такая формула необходима, чтобы выставить ограничение на суммарный объем тары. Потом посредством «Поиск решения» вводятся ссылки на элементы с переменными, формулами и самими показателями (либо ссылки на конкретные ячейки). Разумеется, что количество тары – целое число (также является ограничением). Нажимаем «Найти решение», в результате чего находится такое число тары, когда общая масса максимальна и учтены все ограничения.
Поиску решения не удалось найти решения
Такое уведомление выскакивает, когда рассматриваемая функция не нашла сочетаний показателей переменных, удовлетворяющих каждому ограничению. При использовании Симплекс-метода вполне возможно, что решения нет.
Когда используется способ решения нелинейных задач, во всех случаях начинающийся с начальных показателей переменных, это свидетельствует о том, что возможное решение далеко от таких параметров. Если запустить функцию с прочими начальными показателями переменных, то, вероятно, решение найдется.
К примеру, во время использования нелинейного способа, элементы таблицы с переменными не заполнялись, и функция не нашла решений. Это не значит, что решения нет. Теперь, с учетом результатов определенной оценки, в элементы с переменными вводятся другие данные, близкие к получаемым.
В любой ситуации изначально следует изучить модель на отсутствие противоречия ограничений. Зачастую подобное взаимосвязано с ненадлежащим подбором соотношения либо предельного показателя.
В вышеуказанном примере показатель максимального объема указан 16 куб. м вместо 32, потому такое ограничение противоречит показателям по минимальным количествам мест, поскольку ему будет соответствовать число 16,5 куб. м.
Заключение
Исходя из этого, опция «Поиск решения» в Excel поможет в разрешении конкретных задач, которые довольно трудно либо невозможно решить обычными способами. Сложность в применении такого метода состоит в том, что изначально эта опция скрыта, ввиду чего большинство пользователей не знают о ее наличии. Кроме того, функция достаточно сложна в изучении и использовании, однако при надлежащем исследовании, она принесет большую пользу и облегчит расчеты.
Оцените качество статьи. Нам важно ваше мнение:
I’m trying to use the solver from Excel in VBA but I’m having trouble. I keep getting the following error: «Solver: An unexpected internal error occurred, or available memory was exhausted.»
Now, I guess solver isn’t out of memory as I can solve the same problem when using the solver dialog.
Here’s my code:
Sub CoolSolverButton()
SolverReset
SolverOK setCell:=Range("$CK$203"), MaxMinVal:=1, ByChange:=Range("$BH$203:$BQ$222"), Engine:=2, EngineDesc:="Simplex LP"
SolverAdd CellRef:=Range("$BH$203:$BQ$222"), relation:=5, FormulaText:="binary"
SolverAdd CellRef:=Range("$BH$223:$BQ$223"), relation:=1, FormulaText:=Range("$BH$225:$BQ$225")
SolverAdd CellRef:=Range("$BH$227:$BH$245"), relation:=1, FormulaText:=Range("$BI$227:$BI$245")
SolverAdd CellRef:=Range("$BJ$227:$BJ$245"), relation:=1, FormulaText:=Range("$BK$227:$BK$245")
SolverAdd CellRef:=Range("$BL$227:$BL$245"), relation:=1, FormulaText:=Range("$BM$227:$BM$245")
SolverAdd CellRef:=Range("$BN$227:$BN$245"), relation:=1, FormulaText:=Range("$BO$227:$BO$245")
SolverAdd CellRef:=Range("$BP$227:$BP$245"), relation:=1, FormulaText:=Range("$BQ$227:$BQ$245")
SolverAdd CellRef:=Range("$BR$203:$BR$222"), relation:=2, FormulaText:=Range("$BT$203:$BT$222")
SolverAdd CellRef:=Range("$BU$203:$BU$222"), relation:=2, FormulaText:=Range("$BW$203:$BW$222")
SolverSolve UserFinish:=True
SolverFinish KeepFinal:=1
End Sub
Any ideas?
Thanks!
I’m trying to use the solver from Excel in VBA but I’m having trouble. I keep getting the following error: «Solver: An unexpected internal error occurred, or available memory was exhausted.»
Now, I guess solver isn’t out of memory as I can solve the same problem when using the solver dialog.
Here’s my code:
Sub CoolSolverButton()
SolverReset
SolverOK setCell:=Range("$CK$203"), MaxMinVal:=1, ByChange:=Range("$BH$203:$BQ$222"), Engine:=2, EngineDesc:="Simplex LP"
SolverAdd CellRef:=Range("$BH$203:$BQ$222"), relation:=5, FormulaText:="binary"
SolverAdd CellRef:=Range("$BH$223:$BQ$223"), relation:=1, FormulaText:=Range("$BH$225:$BQ$225")
SolverAdd CellRef:=Range("$BH$227:$BH$245"), relation:=1, FormulaText:=Range("$BI$227:$BI$245")
SolverAdd CellRef:=Range("$BJ$227:$BJ$245"), relation:=1, FormulaText:=Range("$BK$227:$BK$245")
SolverAdd CellRef:=Range("$BL$227:$BL$245"), relation:=1, FormulaText:=Range("$BM$227:$BM$245")
SolverAdd CellRef:=Range("$BN$227:$BN$245"), relation:=1, FormulaText:=Range("$BO$227:$BO$245")
SolverAdd CellRef:=Range("$BP$227:$BP$245"), relation:=1, FormulaText:=Range("$BQ$227:$BQ$245")
SolverAdd CellRef:=Range("$BR$203:$BR$222"), relation:=2, FormulaText:=Range("$BT$203:$BT$222")
SolverAdd CellRef:=Range("$BU$203:$BU$222"), relation:=2, FormulaText:=Range("$BW$203:$BW$222")
SolverSolve UserFinish:=True
SolverFinish KeepFinal:=1
End Sub
Any ideas?
Thanks!
- Remove From My Forums
-
Question
-
I just tried to use the Solver that comes with Microsoft Office 2010. I have activated the add-in, but whenever I select it from the Analysis tab, i get an error «Solver: An unexpected internal error occurred, or available memory was exhausted.» right
out of the box, on a brand new blank worksheet. Any ideas? I am pretty sure that unless this thing consumes 1.5 gigabytes of RAM, my memory should be enough…- Moved by
Monday, October 1, 2012 5:23 AM
(From:Excel for Developers)
- Moved by
- Remove From My Forums
-
Question
-
I just tried to use the Solver that comes with Microsoft Office 2010. I have activated the add-in, but whenever I select it from the Analysis tab, i get an error «Solver: An unexpected internal error occurred, or available memory was exhausted.» right
out of the box, on a brand new blank worksheet. Any ideas? I am pretty sure that unless this thing consumes 1.5 gigabytes of RAM, my memory should be enough…- Moved by
Monday, October 1, 2012 5:23 AM
(From:Excel for Developers)
- Moved by
-
Новое за 24 часа
-
Пользователи
-
Arise
Senior Member701
#
16 февраля 2010 15:32KSIva, не будем обсуждать у кого какие знания в Экселе и гнуть пальцы.
за ответ спасибо
-
dikar
Клуб счастливых людей2587
#
17 февраля 2010 09:14друзья. непредвиденный трабл.
надстройка — Поиск решения.
офис 2007, но трабл не в этом.
решение эксель мне находит, но результаты выдавать отказывается. точнее говоря матрицу решал многократно и решения выводились исправно а вот в тот момент когда я принял решение об окончательном виде матрицы и попытался вывести окончательные результаты после выполнения Поиска Решения выползает такая вот надпись:
Поиск решения: непредвиденная внутренняя ошибка или достигнут предел доступной памяти.
ЧТО ЭТО? и с чем его едят.
мне победить эту запись не удалось.
помогите плиз, кто чем может. очень нужно.
Пишите в ЛС.
-
MaxRusak
Senior Member53155
#
17 февраля 2010 11:55dikar:
друзья. непредвиденный трабл.
надстройка — Поиск решения.
офис 2007, но трабл не в этом.
решение эксель мне находит, но результаты выдавать отказывается. точнее говоря матрицу решал многократно и решения выводились исправно а вот в тот момент когда я принял решение об окончательном виде матрицы и попытался вывести окончательные результаты после выполнения Поиска Решения выползает такая вот надпись:
Поиск решения: непредвиденная внутренняя ошибка или достигнут предел доступной памяти.
ЧТО ЭТО? и с чем его едят.
мне победить эту запись не удалось.
помогите плиз, кто чем может. очень нужно.
Эксель чувствителен к исходным данным в изменяемых ячейках.
Легче зажечь одну маленькую свечку, чем клясть темноту. (с) Конфуций.
-
Олег
Senior Member681
#
4 марта 2010 12:34Помогите правильно в макросе указать переименование страницы
мне надо чтобы переименовывало по данным из ячейки А8 (они там меняются)
в бейсике указывает имя из информации в ячейке, которое там было на момент написания макроса, а хочу чтобы чтобы имя было то, которое указано в упоминаемой ячейке на момент выполнения макроса
Sheets(«2»).Select
Sheets(«2»).Name = «Беларусь.43»
-
DimetriX
Member314
#
4 марта 2010 19:50Олег,
попробуй такой код.
предполагается, что он выполняется на той закладке, где и расположена ячейка А8.
то что надо?
Sub zakladka()
y = ActiveSheet.Name
x = «» & y & «»
Sheets(x).Select
Sheets(x).Name = Cells(8, 1).Value
End Sub
-
Олег
Senior Member681
#
5 марта 2010 09:52DimetriX, спасибо, вроде работает
-
KSIva
Senior Member10781
#
5 марта 2010 10:04Олег, DimetriX, а зачем эта строчка: Sheets(x).Select ? Без нее будет работать?
«И покарал его Господь и отдал его в руки женщины». Кн. Юдифи, 16, гл. 7.
-
Олег
Senior Member681
#
5 марта 2010 11:14KSIva, вроде и без неё работает
-
Артёмка
Senior Member22047
#
9 марта 2010 14:57подскажите плиз, как преобразовать формат времени 5:34:00 в целое значение минут? т.е. 334 мин.
спасибо.
Поделись улыбкою своей — и тебе её не раз ещё припомнят…
-
KSIva
Senior Member10781
#
9 марта 2010 15:07Артёмка:
подскажите плиз, как преобразовать формат времени 5:34:00 в целое значение минут? т.е. 334 мин.
спасибо.
«Формат- ячейки- все форматы» указать формат [м] (буква «м» русская)
«И покарал его Господь и отдал его в руки женщины». Кн. Юдифи, 16, гл. 7.
-
Артёмка
Senior Member22047
#
9 марта 2010 17:28KSIva, в офисе гут, получилось. в гугл докс такой фокус не прокатывает. есть варианты?
Поделись улыбкою своей — и тебе её не раз ещё припомнят…
-
KSIva
Senior Member10781
#
10 марта 2010 09:44Артёмка:
KSIva, в офисе гут, получилось. в гугл докс такой фокус не прокатывает. есть варианты?
C гуглдокс не работаю, но попробуй значение ячейки умножить на 1440. Типа =A1*1440 , где а1 — ячейка со временем. Формат поставь числовой. Если есть секунды, округляй до целых.
«И покарал его Господь и отдал его в руки женщины». Кн. Юдифи, 16, гл. 7.
-
Олег
Senior Member681
#
22 марта 2010 14:27А можно написать макрос, который удаляет все листы кроме активного?
-
IveGotThePower
USA Team3463
#
22 марта 2010 15:02Олег, можно:
Sub DelSheet()
For Each sh In Windows(1).SelectedSheets
Name = sh.Name
Exit For
Next
Application.DisplayAlerts = False
For Each sh In ActiveWorkbook.Sheets
If sh.Name <> Name Then
sh.Delete
End If
Next
Application.DisplayAlerts = True
End Sub
We can take that place. And than do what? Heads on pikes.
-
Олег
Senior Member681
#
22 марта 2010 16:27I’ve got the power, да, работает,
большое спасибо
-
Олег
Senior Member681
#
23 апреля 2010 11:47Вот выше описывали мне как переименовать лист в соответствии со значением в определённой ячейке
А можно ли также переименовать книгу? Нужно чтобы книга сохранялась на рабочий стол и обзывалась значением в ячейке А8 + дата и время
помогите пожалуйста
-
DimetriX
Member314
#
24 апреля 2010 21:31Олег, попробуйте. Но вместо «F:» надо прописать точный путь к рабочему столу, он у вас может быть другой, чем у меня, поэтому и не вписывал.
Sub new1()
d = Format(Date, «YYYYMMDD») & «_» & Format(Time, «HHMMSS») & «.xls»
ActiveWorkbook.SaveAs Filename:=»F:» & Cells(8, 1).Value & «_» & d
End Sub
-
Олег
Senior Member681
#
26 апреля 2010 10:04DimetriX, спасибо, работает
-
Vita
Senior Member2664
#
6 мая 2010 14:13как можно сделать так чтобы один и тот же колонтитул был на всех листах файла?
а то листов много везде настраивать долго
Лучше один раз вовремя — чем два раза правильно!
-
KSIva
Senior Member10781
#
6 мая 2010 15:20Vita:
как можно сделать так чтобы один и тот же колонтитул был на всех листах файла?
а то листов много везде настраивать долго
Выделяешь первый лист, Ctrl+щелчок по ярлыку последнего. Выделяются все листы (вверху в заголовке окна появляется слово [Группа]). Устанавливаешь колонтитулы — они утанавливаются для всех выделенных листов.
«И покарал его Господь и отдал его в руки женщины». Кн. Юдифи, 16, гл. 7.
Поиск решения непредвиденная внутренняя ошибка или достигнут предел памяти
Обновлено: 29.01.2023
- Загрузите DriverFix (проверенный файл загрузки).
- Нажмите «Начать сканирование», чтобы найти все проблемные драйверы.
- Нажмите «Обновить драйверы», чтобы получить новые версии и избежать сбоев в работе системы.
- DriverFix в этом месяце скачали 502 786 читателей.
Если вы работаете в организации, на вашем компьютере, скорее всего, установлена последняя версия пакета Microsoft Office или Office 365. Даже если вы этого не сделаете, маловероятно, что вы никогда раньше не слышали о Microsoft Excel.
1 Проверьте содержимое таблицы
- Вставка строки или столбца
- Выполнение расчетов
- Копирование и вставка
- Сортировка
- Открытие или закрытие книги
- Запуск VBA
- Перепроверьте формулы
- Перепроверьте расчеты
- Избегайте использования лишних форм
- Избегайте использования сложных сводных таблиц
- Старайтесь не использовать макросы и сложные диаграммы с большим количеством точек данных.
2 Проверьте свои надстройки Excel
Если вы считаете, что надстройка Excel вызывает ошибку, попробуйте отключить ее, а затем проверьте, появляется ли ошибка снова.
3 Проверьте Excel или установите последние обновления
- Щелкните правой кнопкой мыши кнопку Пуск
- Во всплывающем меню выберите «Приложения и функции».
- Выберите Microsoft Excel и выберите Изменить.
В зависимости от того, является ли ваша копия Office «нажми и работай» или установлена на основе MSI, следующие шаги могут немного отличаться.
3.1. Нажми и работай
Появится окно с названием Как вы хотите восстановить свои программы Office.
- Выберите Online Repair
- Выберите «Восстановить», чтобы убедиться, что все исправлено.
- Вариант быстрого восстановления работает быстрее, но он только обнаруживает, а затем заменяет поврежденные файлы
3.2. На базе MSI
- В разделе “Изменить установку” выберите ” Восстановить”.
- Нажмите ” Продолжить”.
- Следуйте данной инструкции, чтобы завершить процесс
4 Отключите антивирус
Отключите антивирусную программу и посмотрите, продолжает ли Excel обнаруживать эту ошибку. Помните, что каждая антивирусная программа отключается по-разному, поэтому дополнительную информацию можно найти в документации на веб-сайте разработчика.
Читайте также:
- Как в sketchup изменить единицы измерения
- Ошибка e105 xbox one
- Огневка вита антивирус как принимать
- Кабель для подключения эбу к компьютеру
- Как вывести моноблок из защиты
- Remove From My Forums
-
Question
-
При открытии некоторых файлов .xls и .doc Word и Excel 2013 выдают сообщение:
«Приложению Microsoft Excel (Word) не удается открыть или сохранить документы из-за нехватки памяти или места на диске»
Ну и дальше предлагается список действий — «освободите память, удалите ненужные программы и т.д.»
В журнале событий такие сообщения:
Microsoft ExcelПриложению Microsoft Excel не удается открыть или сохранить документы из-за нехватки памяти или места на диске. • Чтобы освободить память, закройте ненужные книги или программы. • Чтобы освободить место на диске, удалите с этого диска ненужные файлы.P1: 100102P2: 15.0.4420.1017P3: 5afgP4:
(цифры после P1 — каждый раз разные).
Разумеется памяти достаточно (4 Гб), места на диске тоже навалом, компьютер сам по себе среднего современного уровня.
Происходит такая штука с определенными файлами — т.е. именно этот конкретный не открывается, но какой-то другой в это же время откроется без проблем. А те, которые не открывались, не откроются, сколько не пытайся.
Другой момент — замечал, что файлы которые не открывались вчера, открываются в другой день.
Проблема проявляется периодически на 3 разных машинах — на двух Windows 8 x64 (и 64-битный офис), на одной — Windows 8 32 бит (и 32-битный офис).
Ну и конечно — те же файлы отлично открываются в Libre Office или MS Office 2010. Файлики обычные, без каких-то макросов и тп., антивирус установлен (никаких признаков вирусных заражений, система — все обновления). Подскажите, куда копать? Не хочется сносить
2013-й (пусть пока и пробный), плюс скоро их ведь пользователям ставить будем (сам админ) — хочется разобраться в проблеме.- Edited by
Wednesday, December 26, 2012 1:05 PM
- Edited by
Answers
-
Да, я тоже уже разобрался — снял все галки в Центре управления безопасностью в разделе «Защищенный просмотр». После этого все проблемные файлы стали «нормальными» )
Аналогичный эффект давала также разблокировка файла через его свойства в проводнике.
При этом у меня эти файлы находились просто в локальных папках (не расшаренных).
Проблема фактически решена, хотя все-таки это именно баг, ведь программа при этом говорит о каком-то недостатке памяти и т.п. Да и вообще по сути файлы должны бы открываться, но с пометкой, что они заблокированы для редактирования (как это и было раньше
для защищенных)- Marked as answer by
ЖукMVP, Moderator
Tuesday, January 8, 2013 2:07 PM
- Marked as answer by
-
Проблемы как таковой на самом деле нет. Всё дело в новых настройках безопасности.- Центр управления безопасностью /параметры центра управления безопасностью/ Надёжные расположения — добавить новое расположение — путь — обзор -(выбираем
диски С: , D: и т.д.) ставим галочку — Также доверять всем вложенным папкам/ жмём ОК……Всё.- Proposed as answer by
Alexsoft73
Wednesday, October 8, 2014 11:34 PM - Marked as answer by
ЖукMVP, Moderator
Friday, September 22, 2017 2:50 PM
- Proposed as answer by
-
я вообще то, ещё вводил сетевой пароль доступа с включённой опцией «запомнить логин и пароль».
Да, я Жук, три пары лапок и фасеточные глаза :))
- Marked as answer by
ЖукMVP, Moderator
Wednesday, January 10, 2018 1:27 PM
- Marked as answer by
-
Сетевой путь, так же должен быть внесён в список «Надёжные расположения» с отмеченной опцией «Так же доверять всем вложенным папкам».
Да, я Жук, три пары лапок и фасеточные глаза :))
- Marked as answer by
ЖукMVP, Moderator
Friday, August 21, 2015 10:52 AM
- Marked as answer by
-
Выбирать необходимо из той программы, к которой подключается сетевой диск через кнопку «Обзор» соответствующего окна программы. Путь пропишет сама программа, Вам остаётся только отметить
опцию «Так же доверять всем вложенным папкам».Предварительно, протокол IPv6 должен быть включён, и с компьютера эти сетевые папки должны быть доступны.
Да, я Жук, три пары лапок и фасеточные глаза :))
- Edited by
ЖукMVP, Moderator
Tuesday, June 9, 2015 9:58 AM - Marked as answer by
ЖукMVP, Moderator
Wednesday, January 10, 2018 1:26 PM
- Edited by
-
Действительно, очень странное поведение программы.
Работаю с Ms Office 2016, возникла такая же проблема при открытии файлов из почты из браузера (браузер Mozilla, почта rambler).
Проблему удалось решить путем добавления папки с временными файлам в надежные расположения (здесь не все так просто, подробности ниже) и снятием всех галочек в Центре управления безопасностью в разделе «Защищенный
просмотр».Насчет добавления папки с временными файлами в надежные расположения: MS Office 2016 не разрешает напрямую добавить эту папку. Поэтому я создал новую папку для временных файлов, указал ее в Надежных расположениях, а затем
в настройках Windows 10 изменил путь со стандартной папки для временных файлов на новую, после чего перезагрузил компьютер.Совокупность этих действий позволила спокойно открыть документы MS Office из любой программы.- Marked as answer by
ЖукMVP, Moderator
Tuesday, April 25, 2017 8:46 PM
- Marked as answer by
Привет.
Возникла проблема — есть файл МС Экселя, в котором задаются некоторые данные и вызывается надстройка «Поиск решения».
Для универа надо это оформить через Дельфи — я решил прикрутить дельфийский интерфейс к Экселю.
Сделал заполнение исходных данных — все работает нормально, теперь надо вызвать надстройку.
Искал везде — не нашел как ее вызвать напрямую, тогда сделал макрос с вызовом настройки и стал дергать его из дельфи. Вот тут-то и появилась проблема: если я зову макрос просто из Экселя, то все отрабатывает нормально. Если же я зову его из свой программы, то получаю сообщение «Поиск решения: непредвиденная внутренняя ошибка или достигнут предел доступной памяти».
Вопрос: кто-нибудь знает чего ей надо и как это ей дать?
Здравствуйте, Serg32M, Вы писали:
SM>Возникла проблема — есть файл МС Экселя, в котором задаются некоторые данные и вызывается надстройка «Поиск решения».
SM>Для универа надо это оформить через Дельфи — я решил прикрутить дельфийский интерфейс к Экселю.
SM>Сделал заполнение исходных данных — все работает нормально, теперь надо вызвать надстройку.
SM>Искал везде — не нашел как ее вызвать напрямую, тогда сделал макрос с вызовом настройки и стал дергать его из дельфи. Вот тут-то и появилась проблема: если я зову макрос просто из Экселя, то все отрабатывает нормально. Если же я зову его из свой программы, то получаю сообщение «Поиск решения: непредвиденная внутренняя ошибка или достигнут предел доступной памяти».
SM>Вопрос: кто-нибудь знает чего ей надо и как это ей дать?
Ты бы хоть пример кода кинул…. где ото вылазит…
… << RSDN@Home 1.1.4 beta 3 rev. 185>>
Здравствуйте, Vodyamba, Вы писали:
V>Здравствуйте, Serg32M, Вы писали:
SM>>Возникла проблема — есть файл МС Экселя, в котором задаются некоторые данные и вызывается надстройка «Поиск решения».
SM>>Для универа надо это оформить через Дельфи — я решил прикрутить дельфийский интерфейс к Экселю.
SM>>Сделал заполнение исходных данных — все работает нормально, теперь надо вызвать надстройку.
SM>>Искал везде — не нашел как ее вызвать напрямую, тогда сделал макрос с вызовом настройки и стал дергать его из дельфи. Вот тут-то и появилась проблема: если я зову макрос просто из Экселя, то все отрабатывает нормально. Если же я зову его из свой программы, то получаю сообщение «Поиск решения: непредвиденная внутренняя ошибка или достигнут предел доступной памяти».
SM>>Вопрос: кто-нибудь знает чего ей надо и как это ей дать?
V>Ты бы хоть пример кода кинул…. где ото вылазит…
Макрос в Ёкселе
…
SolverOk SetCell:=»$D$21″, MaxMinVal:=1, ValueOf:=»0″, ByChange:=»$D$9:$F$9″
SolverSolve UserFinish:=True
…
Вызов из Дельфи
xl: TExcelApplication;
…
frmMain.xl.Run(‘MacroForDelphi’); // вот тут оно и говорит такую фигню
…
Наряду со множеством других возможностей, в Microsoft Excel есть одна малоизвестная, но очень полезная функция под названием “Поиск решения”. Несмотря на то, что найти и освоить ее, может быть, непросто, ее изучение и применение может помочь в решении огромного количества задач. Функция берет данные, перебирает их и выдает самое оптимальное решение из возможных. Итак, давайте разберемся, как именно работает поиск решения и попробуем применить данную функцию на практике
Содержание
- Как включить функцию “Поиск решения”
- Подготовительный этап
- Применение функции и ее настройка
- Заключение
Как включить функцию “Поиск решения”
Несмотря на свою эффективность, функция “Поиск решения” не находится в первых рядах панели инструментов или контекстного меню. Многие пользователи, работающие в Excel годами, даже не подозревают о ее существовании. Дело в том, что по умолчанию она вообще отключена и для ее добавления на ленту нужно проделать следующие шаги:
- Открываем меню “Файл”, кликнув по соответствующему названию.
- Кликаем по разделу “Параметры”, который находится внизу вертикального перечня с левой стороны.
- Далее щелкаем по подразделу “Надстройки”. Здесь отображаются все надстройки программы, а внизу будет надпись “Управление”. Справа от нее представлено выпадающее меню, в котором должны быть выбраны “Надстройки Excel”, обычно уже установленные по умолчанию. Нажимаем кнопку “Перейти”.
- На экране появится новое вспомогательное окно “Надстройки”. Устанавливаем флажок напротив опции “Поиск решения” и нажимаем ОК.
- Все готово. Требуемая функция появится на ленте в правой части вкладки “Данные”.
Подготовительный этап
Добавить функцию на ленту программы – половина дела. Нужно еще понять принцип ее работы.
Итак, у нас есть данные про продаже товаров, представленные в табличном виде.
И перед нами стоит задача – назначить каждому товару скидку таким образом, чтобы сумма по всем скидкам составила 4,5 млн. рублей. Она должна отобразиться в отдельной ячейке, которая называется целевой. Ориентируясь на нее мы должны рассчитать остальные значения.
Наша задача – вычислить скидку, на которую будут умножены все суммы по продажам всех наименований. Она и будет найдена с помощью функции “Поиск решения”, а ячейка с этой скидкой будет называется искомой.
Данные ячейки (искомая и целевая) связываем вместе формулой, которую пишем в целевой ячейке следующим образом: =D13*$G$2, где ячейка D13 содержит итоговую сумму по продажам всех товаров, а ячейка $G$2 – абсолютные (неизменные) координаты искомой ячейки.
Применение функции и ее настройка
Формула готова. Теперь нужно применить саму функцию.
- Переключаемся во вкладку “Данные” и нажимаем кнопку “Поиск решения”.
- Откроются “Параметры”, где необходимо задать нужные настройки. В поле “Оптимизировать целевую функцию:” указываем адрес целевой ячейки, где планируется вывести сумму по всем скидкам. Можно прописать координаты вручную, либо выбрать из таблицы, для чего сначала кликаем по области ввода, затем – по нужной ячейке.
- Переходим к настройке других параметров. В пункте “До:” можно задать максимальную границу, минимальную границу или же точное число. Исходя из поставленной задачи ставим отметку рядом с опцией “Значение” и набираем “4500000” – сумма скидок по всем наименованиям.
- Следующее для заполнения поле – “Изменяя значения переменных:”. В него нужно внести координаты искомой ячейки, содержащей определенное значение. Это значение и есть та самая скидка, которую мы пытаемся вычислить. Также, как и с выбором целевой ячейки, координаты можно написать вручную, либо кликнуть по нужной ячейке в самой таблице.
- Теперь нужно отредактировать раздел “В соответствии с ограничениями:”, в котором задаем ограничения используемых данных. Например, можно исключить десятичные дроби или, скажем, отрицательные числа. Это делается через кнопку “Добавить”.
- Откроется вспомогательно окно, позволяющее добавить ограничения во время вычислений. В первом поле указываем координаты определенной ячейки или области ячеек, для которых это условие должно действовать. Согласно нашей задаче, указываем координаты искомой ячейки, в которой будет выводиться значение скидки. Следующий шаг – определить знак сравнения. Устанавливаем “больше или равно”, чтобы итоговое число не могло быть отрицательным. “Ограничение”, которое устанавливается в третьем поле, в этом случае будет равно цифре 0, поскольку именно относительно этого значения задается условие.Можно установить еще одно ограничение с помощью кнопки “Добавить”. Дальнейшие действия по его настройке будут аналогичными. По готовности щелкаем OK.
- После выполнения описанных выше действий в самом большом поле окна появится установленное только что ограничение. Список может быть довольно большим и зависит от сложности предполагаемых расчетов, но в данном случае будет достаточно и одного условия.Под этим полем также есть опция, позволяющая делать все остальные переменные, не затрагиваемые ограничениями, неотрицательными. Однако, будьте внимательны и проследите за тем, чтобы между этим параметром и поставленными ограничениями не было противоречия, иначе при расчете в программе может возникнуть конфликт.
- Также можно задать немалое количество дополнительных настроек. Чуть ниже справа есть кнопка “Параметры”, позволяющая это сделать. Нажимаем на нее и открываем новое окно.
- В этих настройках у нас есть возможность установить “Точность ограничения” и “Пределы решения”. В нашем случае задавать данные параметры нет необходимости, поэтому после ознакомления с представленным окном, его можно закрыть, нажав OK.
- Итак, все настройки выполнены и параметры установлены. Пора запускать функцию – для этого нажимаем кнопку “Найти решение”.
- После этого программа сделает все необходимые расчеты и выдаст результаты в нужных ячейках. При этом сразу же откроется окно “Результаты поиска решения”, где можно сохранить/отменить результаты или настроить параметры поиска заново. Если результаты нас устраивают, оставляем отметку напротив опции “Сохранить найденное решение” и нажимаем ОК. При этом, если мы предварительно установим галочку слева от надписи “Вернуться в диалоговое окно параметров поиска решения”, после того, как мы щелкнем OK, мы обратно переключимся к настройке функции поиска решения.
- Вполне вероятно, что расчеты могут показаться неправильными, либо возникнет желание немного изменить исходные данные и получить другой результат. В этом случае нужно снова открыть окно с параметрами поиска решения и внимательно посмотреть поля с введенными данными.
- Если с данными все нормально, можно попробовать задействовать другой метод решения. Для этого щелкаем по текущему варианту и из раскрывшегося перечня выбираем способ, который нам кажется наиболее подходящим:
- Первый – ищет решение методом обобщенного приведенного градиента (ОПГ) для нелинейных задач. Стандартно выбран именно этот вариант, но можно попробовать и другие.
- Второй – пытается отыскать решение для линейных задач, используя симплекс-метод.
- Третий – для выполнения поставленной задачи использует эволюционный поиск.
- В том случае, если ни один из методов не принес удовлетворительных результатов, стоит проверить данные в таблице и параметрах еще раз, поскольку именно это является самой частой ошибкой в подобного рода задачах.
- Теперь, когда мы получили требуемую скидку, осталось ее применить, чтобы рассчитать суммы скидок по всем наименованиям. Для этого отмечаем первую ячейку столбца “Сумма скидки”, пишем в ней формулу “=D2*$G$2” и нажимаем Enter. Знаки доллара ставятся для того, чтобы при растягивании/копировании формулы на другие строки, ячейка G2 со скидкой оставалась неизменной в расчетах.
- Мы получили сумму скидки для первого наименования. Теперь наводим курсор на нижний правый угол ячейки с результатом, как только он поменяет форму на крестик, зажав левую кнопку мыши растягиваем формулу на все строки, по которым хотим посчитать аналогичную сумму.
- Теперь наша таблица полностью готова в соответствии с поставленной задачей.
Заключение
Таким образом, функция “Поиск решения” в Эксель может помочь в решении определенных задач, которые достаточно сложно или невозможно решить простыми методами. Однако, проблема в использовании данного способа заключается в том, что по умолчанию данная функция скрыта в программе, из-за чего многие пользователи не догадываются о ее существовании. Также функция довольно трудна в освоении и использовании, но при ее должном изучении, она может принести значительную пользу и облегчить работу.