Да, верно, можно и так. Не заметил, что они закреплены у Вас.
Но я работал с несколькими справочниками, расположенными на разных листах. Мне было удобнее использовать именованный диапазон, посмотрел на формулу и понял что к чему.
Насчёт перемешивания месяцев, я написал только для корреляции с примерами из статьи. В моём случае каждый раз приходилось просматривать справочники, обновляемые ежемесячно, и пристально вглядываться не изменился ли там порядок столбцов и т.п. Потому что из месяца в месяц встречались как изменения в порядке столбцов, так и их добавление/удаление.
При описании функции ВПР, Вы рассмотрели ситуацию, когда таблицы не идентичны: Таблица с результатом:(Продукт|Январь-Апрель) и Справочник:(Продукт|Январь-Май). Но схитрили и опустили значительную часть фокуса. Результат и функция годится только для ячейки B3. При попытке растянуть как по горизонтали, так и по вертикали формула сбивается. Я использовал для этих целей именованные диапазоны. Создавать их не трудно. Перед тем как использовать формулу, нужно выделить наш диапазон H3:M6 и в поле, расположенном слева от формулы, назначить любое имя. Например, написать СПР_1 и нажать Enter. Для имени диапазона существуют ограничения: нельзя чтобы они совпадали с именованием какой-либо ячейки(недопустимо Y10, т.к. это будет не диапазон, а ссылка на ячейку), двух диапазонов с одинаковым именем тоже не может быть. Таким образом полноценная формула для Вашего примера приобретает красивый вид:
=ВПР($A3; СПР_1; СТОЛБЕЦ();0)
Но и это не всё. Если теперь в справочнике перемешать название месяцев, допустим, поместить их в обратном порядке Май-Январь функция СТОЛБЕЦ() становится бессильной. И да, придётся вручную прописывать номер столбца цифрой, предварительно сопоставив их.
То есть я бы такие примеры представлял по-иному.
Представим ситуацию, что у нас есть справочная таблица (Продукты|Январь|Февраль|...|Декабрь) и нам необходимо вывести в результирующую таблицу произвольный квартал.
Решение: создаём диапазон включающий всю справочную таблицу(без заголовков, естественно), назовём его СПР_ГОД.
Теперь исходя из потребностей можно вывести любой квартал в таблицу вида(Продукты|Месяц_1|Месяц_2|Месяц_3).
Третий квартал почти закончился, вот его и возьмём, представим что мы завтра должны составить отчёт по нему:
Создаём результирующую таблицу (Продукты|Июль|Август|Сентябрь).
Теперь формула для B3 должна выглядеть так:
=ВПР($A3; СПР_ГОД; 8;0)
Для C3:
=ВПР($A3; СПР_ГОД; 9;0)
Для D3:
=ВПР($A3; СПР_ГОД; 10;0)
И только потом мы имеем полное право, выделив все три ячейки, протянуть формулу на произвольное количество строчек вниз по вертикали.
Всё это в своё время делалось в Excel 2007, возможно в новых версиях, что-то изменилось.
P.S. Спасибо за статью, она в любом случае будет полезна для интересующихся.
P.P.S. И это… ))) Простите, но у Вас в первом примере реализация и условие прямо противоположны.
Одним словом: #define TRUE FALSE // упс
Но я работал с несколькими справочниками, расположенными на разных листах. Мне было удобнее использовать именованный диапазон, посмотрел на формулу и понял что к чему.
Насчёт перемешивания месяцев, я написал только для корреляции с примерами из статьи. В моём случае каждый раз приходилось просматривать справочники, обновляемые ежемесячно, и пристально вглядываться не изменился ли там порядок столбцов и т.п. Потому что из месяца в месяц встречались как изменения в порядке столбцов, так и их добавление/удаление.
=ВПР($A3; СПР_1; СТОЛБЕЦ();0)
Но и это не всё. Если теперь в справочнике перемешать название месяцев, допустим, поместить их в обратном порядке Май-Январь функция СТОЛБЕЦ() становится бессильной. И да, придётся вручную прописывать номер столбца цифрой, предварительно сопоставив их.
То есть я бы такие примеры представлял по-иному.
Представим ситуацию, что у нас есть справочная таблица (Продукты|Январь|Февраль|...|Декабрь) и нам необходимо вывести в результирующую таблицу произвольный квартал.
Решение: создаём диапазон включающий всю справочную таблицу(без заголовков, естественно), назовём его СПР_ГОД.
Теперь исходя из потребностей можно вывести любой квартал в таблицу вида(Продукты|Месяц_1|Месяц_2|Месяц_3).
Третий квартал почти закончился, вот его и возьмём, представим что мы завтра должны составить отчёт по нему:
Создаём результирующую таблицу (Продукты|Июль|Август|Сентябрь).
Теперь формула для B3 должна выглядеть так:
=ВПР($A3; СПР_ГОД; 8;0)
Для C3:
=ВПР($A3; СПР_ГОД; 9;0)
Для D3:
=ВПР($A3; СПР_ГОД; 10;0)
И только потом мы имеем полное право, выделив все три ячейки, протянуть формулу на произвольное количество строчек вниз по вертикали.
Всё это в своё время делалось в Excel 2007, возможно в новых версиях, что-то изменилось.
P.S. Спасибо за статью, она в любом случае будет полезна для интересующихся.
P.P.S. И это… ))) Простите, но у Вас в первом примере реализация и условие прямо противоположны.
Одним словом: #define TRUE FALSE // упс