Здравствуйте. Несколько раз всплывала подобная задача (последняя тут). Необходимо получить ВСЕ строки для массива столбцов функцией ИНДЕКС. Во всех справках написано, что
Цитата
Если задать для row_num или column_num значение 0 (ноль), ИНДЕКС возвращает массив значений для всего столбца или строки соответственно.
но мне не удалось это воспроизвести для массива столбцов. В теме, по ссылке выше, вышел из положения указав формуле все возможные строки обернув их в ТРАНСП и присвоив ИМЯ (см.файл-пример) Формулисты, объясните пожалуйста, в чем я не прав? Для одного столбца, при номер_строки=0, возвращаются все строки. П.С. Вводил и как формулу массива в старых версиях и динамический массив в новых. Все равно возвращается только одна строка. Тематические ссылки Как получить часть массива Slicing an Array Without Loop – Application.Index
Не хочу выглядеть капитаном очевидностью, но думаю, можно подытожить, что при нулевом номере строки и наличии какого-то намека на массив для столбцов, вернуть все номера строк никак не получится.
Добрый день. Не формулист ни разу, но заинтересовала тема, почитал зарубежные форумы, народ пишет, что если есть какой-то намек на массив в номерах строк или столбцов, то нужно передавать тогда оба аргумента в виде массива. Мой вариант формулы для возврата всего диапазона строк: =ИНДЕКС(отчет!A2:K100;ПОСЛЕД(СЧЁТЗ(ИНДЕКС(отчет!A2:K100;0;1)));{1;6;3;5;7;8;11;10})
Коллеги, всем спасибо за разбор! Я, в итоге, тоже уперся в то, что
Цитата
Alex написал: что если есть какой-то намек на массив в номерах строк или столбцов, то нужно передавать тогда оба аргумента в виде массива.
но не 'допёр' до СТРОКА(1:50), отдельное спасибо memo Alex, конструкция с ПОСЛЕД() тоже пригодится на будущее, спасибо gling, спасибо за 'старую школу') П.С. вот чего я собственно хотел) =ИНДЕКС(ФИЛЬТР(отчет!A2:K11;отчет!A2:A11=$A$1);ПОСЛЕД(СЧЁТЗ(ФИЛЬТР(отчет!A2:A11;отчет!A2:A11=$A$1)));{1;6;3;5;7;8;11;10})
Возможно, и скорее всего. Но при больших объемах, и строках 'с запасом' под эти объемы (например СТРОКА(A2:A1000)) возникновение ошибке 'ПЕРЕНОС' возрастает. Достаточно ввести в какую-нибудь ячейку, входящую в динамический массив, случайный пробел. П.С. Кстати формула напрямую не работает, см.файл
написал: П.С. Кстати формула напрямую не работает, см.файл
ну еще раз проверить смогу только дома, но у меня работала. Про первую часть совсем не понял. Если про диапазон где строки, ну указать диапазон исходного массива с листом.
да, работает. Не те разделители номеров столбцов при адаптации использовал (вместо ';' вставил ':'). Извини за поклеб) Да и с первым утверждением поторопился) Формула рабочая, спасибо