Вопрос Как я могу объединить VLOOKUP внутри оператора IF, где индекс столбца функции VLOOKUP является числом, экстраполированным из текста?


У меня есть следующие таблицы в excel; Product Stock 

а также Stock Analysis,

Таблица запаса продукта (ТИХООКЕАНСКОЕ СТАНДАРТНОЕ ВРЕМЯ) является более обширным, чем это, но для целей этого вопроса я сократил его.

Я хочу найти значение в столбце в таблице «Анализ запаса» (СИДЕЛ) соответствует значению в столбце Размер таблицы запасов продукта.

Например, в этом случае значение в столбце «Размер» таблицы «Мои товары» (ТИХООКЕАНСКОЕ СТАНДАРТНОЕ ВРЕМЯ) является 8 поэтому я хочу посмотреть значение в Размер 8 столбец моей таблицы анализа акций. Если бы моя ценность была 5 затем поиск Размер 5 в моей таблице анализа акций (СИДЕЛ),

Обратите внимание, что проверка данных была выполнена для обеспечения того, чтобы значения в столбце «Размер» моей таблицы товаров были основаны на указанном измерении, следовательно, будут иметь только диапазон размеров, которые также являются столбцами таблицы «Анализ запаса»

Также была вставлена ​​формула для обеспечения того, чтобы следующая строка СИДЕЛ всегда будет иметь номер партии, который больше, чем предыдущая строка (т. е. в столбце № партии для каждой новой строки увеличивается 1), это означает, что повторение партий в СИДЕЛ


4
2018-05-02 09:43


происхождения


Не уверен, что я полностью понимаю. Вы не отметили свои таблицы, я предполагаю, что первый - это ваш PST, а второй - ваш SAT? Кроме того, какой результат вы ожидаете? Вы указываете, что столбец размера вашего PST равен 8, каков будет результат из вашей таблицы SAT? Я предполагаю, 7? - Kevin Anthony Oppegaard Rose
Да, я извиняюсь, но когда я печатал вопрос, мне показалось, что таблицы были помечены. Я, однако, попытался объяснить дальше. @ g.kov, похоже, решил мою проблему. - MrMarho


ответы:


Что-то вроде этого?

enter image description here

Формула в H12 является:

=VLOOKUP(E12,$C$6:$H$8,MATCH("Size "&F12,$C$5:$H$5,0),FALSE)

Редактировать: Как формула в H12 работает.

Часть, которая предоставляет номер столбца,

MATCH("Size "&F12,$C$5:$H$5,0)

сначала объединяет префикс "Size " со значением F12 (= 8), в результате чего получается строка "Size 8", Затем это просматривает ячейки в строке заголовка $C$5:$H$5  найти эту ключевую строку и возвращает несколько соответствующих ячеек, а именно, 6 (последняя ячейка в заголовке). Тогда формула

=VLOOKUP(E12,$C$6:$H$8,MATCH("Size "&F12,$C$5:$H$5,0),FALSE)

в основном становится

=VLOOKUP(E12,$C$6:$H$8,6,FALSE)

который ищет содержание E12 (= 1) в первом столбце диапазона $C$6:$H$8, Другими словами, он выбирает строку, которая соответствует Batch No=1, который 1, И учитывая номера строк (= 1) и столбца (= 6) В диапазоне $C$6:$H$8, VLOOKUP возвращает значение, сохраненное в H6, который 7,


10
2018-05-02 11:20



Да, именно то, что я ищу. Вы только что закончили 4 часа мозгового штурма. - MrMarho
Таким образом, нет необходимости в моей функции IF, поскольку проверка данных была выполнена, я полагаю? - MrMarho
@MrMarho: Ну, всегда есть место для ошибок, поэтому вам решать, как с ними справиться. - g.kov
@ fixer1234: добавлено - g.kov


Попробуйте index функция с совпадением для партии # и текста размера:

=INDEX(C6:H8,MATCH($E12,$C$6:$C$8,0),MATCH("Size "&$F12,$C$5:$H$5,0))

2
2018-05-02 16:05



Добро пожаловать в Суперпользователя. Ответы, которые воспитывают, лучше, чем те, которые просто обеспечивают сокращение и прошлое решение, потому что они помогают читателю понять, как решить следующую проблему. Можете ли вы добавить пару предложений, чтобы объяснить, как это работает? Благодарю. - fixer1234