Страницы: 1
RSS
Обращение к диапазону внутри именованной таблицы констант
 
Коллеги!
Прошу помощи при решении следующей задачи:
Пусть организована некоторая таблица числовых и текстовых констант, представленная в виде именованного диапазона "Таблица"
При помощи функции ИНДЕКС() я могу обратиться к конкретному значению таблицы или к целой строке/столбцу внутри нее.
Я ищу возможность при помощи формул вернуть часть указанной строки по аналогии с работой функции СМЕЩ().
Мне бы даже подошел вариант, выдергивающий по одному нужные мне значения из большой таблицы и собирающие их в новый одномерный диапазон...

Пока мне удалось научиться возвращать целую строку таблицы, но замещать нулями ненужные данные. А хочется ненужное полностью обрезать - получать короткую строку.

Есть ли у Вас идеи как можно этого добиться?  
 
вычислите 2 ИНДЕКСА, разделите их двоеточием - это и будет требуемый диапазон  
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Игорь, могли бы Вы пояснить свою мысль?
Я бы хотел получить новый диапазон вида {11;21;31} или ссылку на соответствующую часть большой Таблицы
 
IKor, INDEX(A:A;3):INDEX(A:A;5)  -это диапазон A3:A5  и аналог OFFSET(A1;2;;3) - это имел в виду Игорь.
Но у вас таблица это не диапазон, и так не сработает.
но тогда масисив можно получить примерно так
=INDEX(Таблица;N(INDEX(ROW(2:5);));2)
из таблички возьмутся значения во втором столбце со 2 по 5ю строку.
а для вашего вопроса
=INDEX(Таблица;2;N(INDEX(ROW(2:4);))) будет именно {11;21;31}
Изменено: БМВ - 16.10.2019 14:45:17
По вопросам из тем форума, личку не читаю.
 
Коллеги,
К сожалению, то что работает с явно представленном на листе диапазоном
Код
=ИНДЕКС($C$3:$H$8;2;2):ИНДЕКС($C$3:$H$8;2;4)
отказывается работать с именованной таблицей констант
Код
=ИНДЕКС(Таблица;2;2):ИНДЕКС(Таблица;2;4)
также как и функция СМЕЩ()

Нет ли у Вас других идей?
 
IKor, я там выше накидал.
По вопросам из тем форума, личку не читаю.
 
БМВ,
Спасибо! Получилось то, что нужно!
Единственно пришлось добавить ТРАНСПонирование строк, чтобы получить результат в виде горизонтального вектора
Код
=ИНДЕКС(Таблица;2;Ч(ИНДЕКС(ТРАНСП(СТРОКА(2:4));)))
================================
Получается даже отказаться от второго ИНДЕКСа
Код
=ИНДЕКС(Таблица;2;Ч(ТРАНСП(СТРОКА(2:4))))
Изменено: IKor - 16.10.2019 14:54:42
 
Цитата
IKor написал:
Получается даже отказаться от второго ИНДЕКСа
уверены? :-) ну если одно единственное значение нужно , то можно и отказаться.:-) . Transpose можно
=TRANSPOSE(INDEX(Таблица;2;N(INDEX(ROW(2:4);))))
Изменено: БМВ - 16.10.2019 15:02:01
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
уверены?
Да, правильный ответ получился при помощи обеих вышеприведенных формул.
Причем транспонировать можно только массив строк, а не массив результатов.
Страницы: 1
Наверх