Excel решатель с использованием относительных ссылок?

575
rightanium

У меня есть требование использовать Solver с определенным набором данных, и хотя я знаю, как использовать Solver с одним набором данных, есть несколько других рядов данных, для которых мне нужно его использовать, и затем он становится повторяющимся по мере необходимости. Солвер использует только абсолютные ссылки.

Есть ли выход? Можно ли как-то применить одни и те же критерии только к разным строкам и заставить Солвер пересчитать результат для всех этих строк?

Кто-то сказал, что использование INDIRECTможет быть вариантом, но я не получил никакого объяснения того, как.

0
Трудно сказать, основываясь на вашем описании. Возможно, вам помогут «Именованные диапазоны». Нажмите CTRL + F3, чтобы открыть редактор диапазонов. В дополнение к именованию статического диапазона вы можете определить диапазоны с помощью формул. Например: если у вас огромный столбец значений, вы можете использовать эту технику, чтобы ваш диапазон заканчивался определенным значением в этом столбце. Это очень мощно. picobit 8 лет назад 1
Вы можете получить ответ, если опубликуете пример своих данных и того, что вы пытаетесь с ними сделать. Scott 8 лет назад 0

1 ответ на вопрос

0
OldUgly

Во-первых, я предполагаю, что вы используете VBA. Если это не так, это не будет иметь большого смысла.

Я рекомендую просмотреть этот пост, обсуждая проблемы с использованием Solver в VBA.

Чтобы использовать ссылки для настройки Solver (например, SetCell: =), я обнаружил, что это работает, в то время как большинство других методов этого не делают.

Set SetRng = Sheets("Sheet2").Range("A1") SetAddress = Split(SetRng.Address(external:=True), "[")(0) & Split(SetRng.Address(external:=True), "]")(1) SolverOK SetCell:=SetAddress 

Где SetAddress - Dim'd в виде строки.

Похожие вопросы