Страницы: 1
RSS
В зависимости от маски шифра выдавать значение из другой таблицы в соседнюю ячейку с проверяемой
 
Здравствуйте форумчане. Прошу помощи в решении следующей задачи:  
 
Есть таблица, где каждому товару присвоен шифр согласно некоторым правилам (маске).  
Есть отдельная таблица (другой лист например) где прописано, какому производителю соответствует какая маска (или несколько масок).  
 
Нужно, проверив столбец шифров товаров "Шифр"  на соответствие одной из масок столбца "Маска" , выдать в столбце "Поставщик" производителя этого товара из столбца "Производитель".  
 
Данный файл будет шаблоном куда подставляются данные с внешней программы.  
 
При этом товаров может быть много (50...300...5000 шт), производителей может быть много (около 100 шт). Поэтому вкладывать друг в друга функцию ЕСЛИ - не вариант.  
Производители могут в будущем добавляться в список или же будет меняться их маска.
 
Интересует не кол-во товаров и производителей, а кол-во масок. Сколько их может быть?
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
=ИНДЕКС($F$3:$F$9;ПОИСКПОЗ(ИСТИНА;ЕЧИСЛО(ПОИСК({"??40??*";"??41??*";"???.??.??*";"??90??*";"H???_st*"};B2));0))
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Спасибо, Ваш вариант работает, но это только 2/3 решения. Как я понимаю формула работает только при условии, когда маски прописаны внутри формулы, а не отдельным диапазоном.  
 
Последнее необходимо для того, чтобы иметь в будущем возможность добавлять/убирать/менять маски быстро, не изменяя формулы, ссылаясь просто на динамический диапазон-базу.  
 
Количество масок на данном этапе порядка 20, но в будущем это количество будет только увеличиваться. Максимум до 120 штук где-то.  
 
П.С. Мои попытки скорректировать вашу формулу на диапазон ячеек с масками не увенчался успехом.
 
{quote}{login=Serg0k}{date=14.05.2012 09:00}{thema=}{post}Как я понимаю формула работает только при условии, когда маски прописаны внутри формулы, а не отдельным диапазоном.{/post}{/quote}  
 
Нет, неправильно понимаете.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Если судить по показанным данным, можно предположить, что для поиска можно задействовать не только маску, но и длину строки кода, символы:  
Производитель2 - точка; Производитель4 - "_", Производители 1,3 - 3 символ.  
 
Если это так, формула облегчается.
 
Спасибо за помощь, все работает отлично и как надо, задачу можно считать полностью решенной :)  
 
П.С.    
{quote}{login=Владимир}{date=14.05.2012 11:47}{thema=}{post}=ИНДЕКС($F$3:$F$9;ПОИСКПОЗ(ИСТИНА;ЕЧИСЛО(ПОИСК({"??40??*";"??41??*";"???.??.??*";"??90??*";"H???_st*"};B2));0)){/post}{/quote}  
 
Когда пробовал этот вариант, не сообразил, что формулу надо применить как формулу масива
Страницы: 1
Читают тему
Наверх