Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2017, 09:08   #1
axis86
 
Регистрация: 25.03.2017
Сообщений: 7
По умолчанию Адрес для ячеек

Здравствуйте! Помогите, пожалуйста, решить проблему, которая заключается в следующем:
Вложенный файл - пример склада товара, числа в ячейках - артикул товара. У каждого склада есть свой номер, номер ряда и номер полки. Также с помощью УФ сделан поиск артикулов на полках. Хочу сделать, чтобы рядом с поиском отображался "текстовый путь" искомого артикула, пример в ячейке D1.
То есть всем ячейкам нужно присвоить по 3 адреса - номер склада, номер ряда и номер полки. И при вводе артикула в ячейку для поиска(В1), в ячейке D1 отображался его адрес.
С помощью формулы "=ИНДЕКС" не получается добиться нужного результата, т.к. некоторые артикула находятся в разных местах и из-за этого формула корректно не показывает адрес.
Может это возможно сделать каким-то другим способом?
Заранее благодарен за любую помощь!
Вложения
Тип файла: xlsx Copy of storage.xlsx (43.3 Кб, 9 просмотров)
axis86 вне форума Ответить с цитированием
Старый 25.03.2017, 09:38   #2
AlexM12
Форумчанин
 
Аватар для AlexM12
 
Регистрация: 29.08.2012
Сообщений: 209
По умолчанию

Если артикула два, то какой адрес нужно определить?
13.1/2 Ряд/5 или 11.1/2 Ряд/3
Алексей М.
AlexM12 вне форума Ответить с цитированием
Старый 25.03.2017, 09:46   #3
axis86
 
Регистрация: 25.03.2017
Сообщений: 7
По умолчанию

В идеале было бы - оба два
Но если нету возможности, то тот которого больше или хотя бы тот, который правельный. Потому что иногда даже и правельный адрес не показывает, а иногда просто артикул показывает без адреса.
axis86 вне форума Ответить с цитированием
Старый 25.03.2017, 12:04   #4
AlexM12
Форумчанин
 
Аватар для AlexM12
 
Регистрация: 29.08.2012
Сообщений: 209
По умолчанию

Формула массива
Код:
=ПРОСМОТР(2;1/(ИНДЕКС($A1:$AI94;НАИМЕНЬШИЙ(ЕСЛИ($A6:$AI94=$B1;СТРОКА($A6:$AI94));СТОЛБЕЦ(B1)/2);)=$B1);ИНДЕКС(Адреса!$A1:$AI94;НАИМЕНЬШИЙ(ЕСЛИ($A6:$AI94=$B1;СТРОКА($A6:$AI94));СТОЛБЕЦ(B1)/2);))
Вложения
Тип файла: xlsx Copy of storage_01.xlsx (43.6 Кб, 19 просмотров)
Алексей М.
AlexM12 вне форума Ответить с цитированием
Старый 25.03.2017, 12:25   #5
axis86
 
Регистрация: 25.03.2017
Сообщений: 7
По умолчанию

Алексей, спасибо огромнейшее! Вечером проверю на стационарном экселе, на мобильном совсем все плохо с редактором формул.
За ответ на excelworld, тоже спасибо

Последний раз редактировалось axis86; 25.03.2017 в 15:33.
axis86 вне форума Ответить с цитированием
Старый 26.03.2017, 23:52   #6
axis86
 
Регистрация: 25.03.2017
Сообщений: 7
По умолчанию

Я прошу прощения за тупость, но у меня всё же никак не получается вставить формулу в свой файл. Копирую, вставляю, потом объединяю, выдает ошибку. Если без объединения с заменой СТОЛБЕЦ(B1)/2 на СТОЛБЕЦ(A1) тоже не хочет
У меня еще один вопрос возник:
Вы писали, что формула ищет всё, но сделали до трёх, как это понять?
Имеется ввиду, то что если на одной полке количество артикула три и больше, то три формулы будут отображать адрес только этой одной полки даже если такой артикул есть где-то в другом месте?
Получается, что для отображения 12-ти артикулов нужно 12 формул?
axis86 вне форума Ответить с цитированием
Старый 27.03.2017, 02:01   #7
AlexM12
Форумчанин
 
Аватар для AlexM12
 
Регистрация: 29.08.2012
Сообщений: 209
По умолчанию

Даааа...
1 предполагаю вы не обратили внимание на фразу Формула массива
2. Формулу протянул вправо на три ячейки. Получилось три формулы, первая найдет первый артикул, вторая - второй и третья - третий
3. Если не получается показывайте файл с ошибками.
Алексей М.
AlexM12 вне форума Ответить с цитированием
Старый 28.03.2017, 00:56   #8
axis86
 
Регистрация: 25.03.2017
Сообщений: 7
По умолчанию

Спасибо за разъяснение, разобрался. То, что формулу через Ctrl+Shift вставлять надо и правда не заметил. Вставил 20 формул, работают идеально. Правда есть один маленький нюанс:
Формула не распознает артикула с буквой или символами "/1".
Возможно ли сделать, чтобы формула игнорировала эти символы и при поиске артикула "1234" отображался адрес и "1234а", и "1234/1"?
axis86 вне форума Ответить с цитированием
Старый 28.03.2017, 10:14   #9
AlexM12
Форумчанин
 
Аватар для AlexM12
 
Регистрация: 29.08.2012
Сообщений: 209
По умолчанию

Полностью переделал формулу.
Формулы массива для определения строки и столбца сделал в отдельных ячейках для простоты понимания их работы. Их можно подставить в итоговую формулу вместо ссылок.
Итоговая формула, две формулы массива для определения строки и столбца
Код:
=ИНДЕКС(Адреса!$A1:$AI94;J2;J3)
=ОТБР(НАИМЕНЬШИЙ(ЕСЛИ(ЕЧИСЛО(ПОИСК($B1;$A6:$AI94));100*СТРОКА($A6:$AI94)+СТОЛБЕЦ($A6:$AI94));СТОЛБЕЦ(A1))%)
=ОСТАТ(НАИМЕНЬШИЙ(ЕСЛИ(ЕЧИСЛО(ПОИСК($B1;$A6:$AI94));100*СТРОКА($A6:$AI94)+СТОЛБЕЦ($A6:$AI94));СТОЛБЕЦ(A1));100)
Вложения
Тип файла: xlsx Copy of storage_02.xlsx (44.1 Кб, 9 просмотров)
Алексей М.
AlexM12 вне форума Ответить с цитированием
Старый 31.03.2017, 19:38   #10
axis86
 
Регистрация: 25.03.2017
Сообщений: 7
По умолчанию

Алексей, спасибо Вам огромное! Формула просто идеальная!
Можно еще разок попросить Вашей помощи?
Формула находит 20 адресов, но из них много одинаковых, т.к. некоторые артикула лежат на одной и той же полке. Сделал формулу по отбору уникальных значений, но что-то она немного кривая. Помогите, пожалуйста, сделать формулу на 4 или 5 значений из указаного диапазона.
Вложения
Тип файла: xlsx Copy of storage.xlsx (45.4 Кб, 8 просмотров)
axis86 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заполнение пустых ячеек по условию (копирование???) при помощи макроса, Макрос для копирования диапазона ячеек на текущем листе maxscorpio Microsoft Office Excel 0 06.02.2017 09:43
Сохранить адрес ячеек, которые редактировали JulyMar Microsoft Office Excel 1 01.08.2013 21:41
Для public переменной класса присвоить адрес ячеек из внешней переменной _KUL Qt и кроссплатформенное программирование С/С++ 2 28.05.2012 12:04
Адрес ячеек .Phoenix Microsoft Office Excel 5 04.06.2011 10:53
макрос - подсчитать для каждой строки кол-во ячеек с «+», кол-во ячеек с «-» Vadim_abs Microsoft Office Excel 36 14.07.2009 12:08