Новости:

Теперь на форум можно залогиниться / зарегистрироваться с помощью ВКонтакте. Уже существующие пользователи могут связать свою учетную запись с аккаунтом ВКонтакте одним кликом в профиле пользователя http://forum.msexcel.ru/index.php?action=profile;area=account

Главное меню

страна по штрихкоду

Автор Jim, 11.02.2013, 15:39

« назад - далее »

Jim

всем доброго времени суток.

нужна помощь в написании макроса (формула), с помощью которой будет определяться страна по штрихкоду.

т.е. в ячейке вписан штрихкод, рядом пишем формулу и указываем на эту ячейку, и нам должна выдаваться страна. Страна определяется по первым двум или же трем символам.

начала штрихкодов и соответствующая страна:

482 - Украина
484 - Молдова
485 - Армения
486 - Грузия
487 - Казахстан
489 - Гонконг
50 - Великобритания
520 - Греция
528 - Ливан
529 - Кипр
531 - Македония
535 - Мальта
539 - Ирландия
54 - Бельгия, Люксембург
560 - Португалия
569 - Исландия
57 - Дания

заранее спасибо.

Михаил С.

Не мешало бы приложить файл эксель, в котором есть штрихкоды и справочник стран.

А так, функция ВПР вам в помощь.
Отдельное спасибо можно на QiWi-кошелек 909-771-53-87 или ЯД 41001136675053

Jim

примеры штрихкодов в екселе прилагаю.

ВПР надоел, приходится открывать лишний файл. хочется иметь готовую формулу в екселе.

Михаил С.

Ну такой файл и из вашего вопроса можно было создать. Вот толку от него - ни какого.
Jim, у вас почти 250 сообщений, неужели не научились правильно задавать вопросы?
Цитироватьт.е. в ячейке вписан штрихкод,
я так думаю, он более трех символов
ЦитироватьСтрана определяется по первым двум или же трем символам.
По какому параметру определять, два или три символа брать?
Цитироватьприходится открывать лишний файл
Почему?
Отдельное спасибо можно на QiWi-кошелек 909-771-53-87 или ЯД 41001136675053

Serge 007

Цитата: Jim от 11.02.2013, 15:58
ВПР надоел, приходится открывать лишний файл. хочется иметь готовую формулу в екселе.
Это Вы о чём?!

Цитата: Jim от 11.02.2013, 15:39
Страна определяется по первым двум или же трем символам.
В каком случае по двум и в каком случае по трём?
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

Jim

лишний файл, это я о том, где хранится этот список штрихкодов со странами. неудобно каждый раз открывать и ВПРить.

два или три - всегда по разному, я в примере указал что какие то страны определяются по двум символам а какие то по трем.
Также добавлю, что пересечений не будет, т.е. если есть одна страна с началом штриха например 25, не будет страны у которой штрих начинается на например 255.


Serge 007

=ЕСЛИ(СУММПРОИЗВ(--(ЛЕВСИМВ(A$1:A$17;2)=ЛЕВСИМВ(A24;2)))>1;ВПР(--ЛЕВСИМВ(A24;3);A$1:B$17;2;);ВПР(--ЛЕВСИМВ(A24;2);A$1:B$17;2;))

Можно запихнуть список в саму формулу, вот только она будет очень длинной и возможно не будет работать в Excel старше 2007
=ЕСЛИ(СУММПРОИЗВ(--(ЛЕВСИМВ({482:484:485:486:487:489:50:520:528:529:531:535:539:54:560:569:57};2)=ЛЕВСИМВ(A24;2)))>1;ВПР(--ЛЕВСИМВ(A24;3);{482;"Украина":484;"Молдова":485;"Армения":486;"Грузия":487;"Казахстан":489;"Гонконг":50;"Великобритания":520;"Греция":528;"Ливан":529;"Кипр":531;"Македония":535;"Мальта":539;"Ирландия":54;"Бельгия, Люксембург":560;"Португалия":569;"Исландия":57;"Дания"};2;);ВПР(--ЛЕВСИМВ(A24;2);{482;"Украина":484;"Молдова":485;"Армения":486;"Грузия":487;"Казахстан":489;"Гонконг":50;"Великобритания":520;"Греция":528;"Ливан":529;"Кипр":531;"Македония":535;"Мальта":539;"Ирландия":54;"Бельгия, Люксембург":560;"Португалия":569;"Исландия":57;"Дания"};2;))
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

Jim

а возможно это в макросе сделать? и список в макрос загнать.

Serge 007

Можно. Но Вам же
Цитата: Jim от 11.02.2013, 15:58
хочется иметь готовую формулу в екселе.

ЗЫ Можно еще всё в имена запихать, тогда вид формулы становится весьма приятным :) , например таким:
=ФОРМУЛА
См. вложение
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

Jim

а как это в макрос загнать? мне надо чтобы эта формула всегда была.

Wasilic

Цитата: Jim от 11.02.2013, 18:15
а как это в макрос загнать? мне надо чтобы эта формула всегда была.
Так можно.
Может и я на что сгожусь ... Если сгодился, можете меня по+благодарить+.

Jim

извиняюсь за назойливость, а можно ли как то это сделать в виде формулы через макрос. т.е. что бы я в какой то ячейки сам писал =СТРАНА("ячейка") и указывал на ячейку с штрихкодом, и мне выводилась страна.

Public Function СТРАНА................

заранее спасибо.

Serge 007

Цитата: Jim от 12.02.2013, 10:01
...сделать в виде формулы через макрос
Почему обязательно макрос?

Цитата: Jim от 12.02.2013, 10:01
...я в какой то ячейки сам писал =СТРАНА("ячейка") и указывал на ячейку с штрихкодом, и мне выводилась страна.
Чем мой вариант с =ФОРМУЛА не подходит?
Даже ячейку с штрихкодом указывать не надо, просто в соседней справа пишем =ФОРМУЛА и всё
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

Jim

Цитировать
Чем мой вариант с =ФОРМУЛА не подходит?
Даже ячейку с штрихкодом указывать не надо, просто в соседней справа пишем =ФОРМУЛА и всё

нужно через макрос, чтобы потом сохранить как надстройку.

Wasilic

Цитата: Jim от 12.02.2013, 10:01
т.е. что бы я в какой то ячейки сам писал =СТРАНА("ячейка") и указывал на ячейку с штрихкодом, и мне выводилась страна.
:) :) :)
Посмотрел, значит, на ячейку А1 со штрих кодом, потом в ячейке С1 написал =СТРАНА("А1") и она превращается в страну.  :-\
Странные заморочки.
А чё не сразу внести в С1 первые 2-3 цифры кода.  ???
Или, все таки, конкретно пояснить - чё ты хошь?
Может и я на что сгожусь ... Если сгодился, можете меня по+благодарить+.