Здравствуйте Олег!
Имею еще один вопрос к владыке :-)
Давно мучаюсь вопросом, существует ли в Excel возможность косвенной переадресации, а именно:
допустим в ячейке хранится адрес, который используется в какой-нибудь поисковой формуле (например Vlookup), при описании в формуле массива поиска(в позиции 2 ) вместо адреса идет ссылка на эту ячейку что-нибдь этакое Vlookup($B12;C23:B(A1);2,false). Соответственно меняя адрес в этой ячейке А1 (допустим результат каких -либо вычислений, например COUNTIF() будет простое число) можно сделать плавающий диапазон поиска (допустим по вертикали). До этого так делал > в СУБД, подозреваю, что для этого к Excel существует VBA. Как спец, что посоветуете?
Большое спасибо!
Посоветую использовать функцию ДВССЫЛ, которая позволяет обрабатывать “плавающие” диапазоны. Например, в ячейке A1 написано число 1, а в ячейке B1 число 50
Тогда результатом функции ДВССЫЛ(”Лист1!D”&A1&”:E”&B1) будет являться ссылка на диапазон, D1:E50 на листе “Лист1″.
Функция ДВССЫЛ редко используется самостоятельно. Как правило, внутри других функций.
Вот пример с ВПР: =ВПР(A3;ДВССЫЛ(”Лист1!D”&A1&”:E”&B1);2;ЛОЖЬ)
Как раз делает выборку по значению, указанному в ячейке A3 из таблицы Лист1!D1:E50, причем 1 и 50 можно менять в ячейках A1 и B1.
К сожалению, не очень знаком с англоязычной версией, поэтому в помощь предлагаю файл соответствий названий. Откопал где-то на сайте > Microsoft давным-давно… Пользуйтесь.
functions(en-rus)
Окончательно поверил во владыку Excel :- ) , оказывется Дед Мороз существует!
Обязательно поиграюсь с этой функцией.
PS: Кстати я был в шоке, когда увидел первый раз русскоязычную версию, надо же умудрились перевести язык программирования, понятно, что для обычного пользователя так намного легче, но функции на английском не работают! Получается необходимо в одной программе выучить язык дважды!
Еще раз огромное спасибо!
Константин.