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