Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Получение информации из прайс листа, с выбором диапазона исходных данных в зависимости от маски артикула
 
Цитата
Максим Зеленский написал: ЗЫ так и не понял, чем не угодили формулы массива.
поскольку формула будет отдаваться для использования самым начинающим пользователям - велика вероятность того, что при копировании или случайном редактировании (нажмут Enter вместо Ctrl-Shift-Enter) формула массива "слетит"  и "всё поломается"
Получение информации из прайс листа, с выбором диапазона исходных данных в зависимости от маски артикула
 
Максим,
спасибо за быстрый ответ и интересное решение, поскольку с работой функции ПРОСМОТР в деталях разбираюсь только сейчас - можно 2 вопроса по ней?
1) на сколько важно искать значение "2" в "ПРОСМОТР(2;"  или в данном случае (когда значения массива могут быть только "1" и "#Н/Д";) можно "2" заменить на "1" ?
2) на сколько важно наличие двойного унарного минуса в "--(ПОИСКПОЗ(Setup!$A$1:$A$10;$A1;0))" ?

>вы пытаетесь сделать взаимоисключающие вещи, увы. далеко не все формулы могут так работать, как СУММПРОИЗВ.
В целом задача такая - есть прайс лист, который обновляется ежемесячно, по нему через ВПР (ранее он был меньше 65K строк) легко вытягивалась информацию о описании и цене по артикулу. Сейчас кол-во строк стало значительно больше 65K, надо преобразовать исходные данные его так, чтобы для любой (в том числе и старой версии Excel, у которой есть ограничение в 65K строк на лист) можно было используя только стандартные функции (без помощи VBA и формул массивов Ctrl-Shift-Enter) по артикулу находить описание и цену. Пока лучшее что смог придумать - это по заранее заданным маскам сгруппировать данные в несколько разных колонок одного листа и с помощью тех же масок определять в какой колонке искать. Насколько в целом выбран логичный/оптимальный путь решения задачи?
Получение информации из прайс листа, с выбором диапазона исходных данных в зависимости от маски артикула
 
Уважаемы Гуру!

Есть прайс с данными в формате excel 95-97 (ограничение а 65K строк), которые хранятся на одном листе в несколько групп по 3 колонки (лист Price - артикул, описание, цена) , всего сейчас артикулов ~300K, и их количество  постоянно увеличивается . В каждой группе, находятся артикулы подходящие под определенную маску (задается начало артикула, длинна артикулов может быть разной). На отдельном листе (Setup) хранится информация в каких колонках находятся артикулы c указанной маской, не использовать «*» и указать все варианты на которые могут начинаться артикулы практически не реально. Задача: с использованием стандартных функций Excel (без VBA и формул массивов требующих ввод через Ctrl-Shift-Enter) сделать поиск по артикулу его описания и цены в прайсе. В случае когда маски всех групп уникальные и не пересекаются – у меня получилось (лист  Test с 1 по 24 строки). В случае когда есть пересечения масок (например SBS* и SB*, при этом заранее известно что более «точная» маска SBS* идет первой) - не получилось выделить именно первое попадание. Пользовался формулой СУММПРОИЗВ, в ней почему-то функция ПОИСКПОЗ использованная 1 раз работает как надо (работает с переданным ей диапазоном как с массивом и возвращает массив),  а если использую функцию ПОИСКПОЗ 2 раза (одна вложена в другую) – то у «внутренняя» функция ПОИСКПОЗ перестает работать с передаваемым диапазоном как с массивом и возвращает одно значение вместо массива. Может подскажете где ошибка?
Страницы: 1
Наверх