Как сравнить одну ячейку с диапазоном и если TRUE - копировать содержимое из правой ячейки? - PullRequest
0 голосов
/ 17 января 2019

Мне нужно сравнить два столбца I и L и скопировать сопоставленный результат из столбца М. Это список из 1000+ кодов продуктов (I, L) и EAN-кодов (M). Таким образом, если ячейка I1 находится в диапазоне L1: L1000 (скажем, она найдена в ячейке L3), тогда формула должна скопировать ячейку M3.

Пробовал VLOOKUP и MATCH и некоторые IF, но не может понять, как заставить его работать, так как он возвращает пустое значение или REF! или N/A или полностью исключает ошибки. Я в отчаянии и не знаю, что я делаю неправильно ...

=VLOOKUP(I1:I1164,L1:L1164,13,FALSE)

и с

=IF(ISNUMBER(SEARCH(I1,L1:L1000),M1," "")

Результат должен быть в столбце N.

Ответы [ 2 ]

0 голосов
/ 17 января 2019

При использовании VLOOKUP вам необходимо, чтобы диапазон поиска включал в себя как диапазон значений, которые вы ищете (который ДОЛЖЕН быть первым столбцом), так и возвращаемые значения (столбец которых вы указываете относительно диапазона. в вашем случае вы будете искать в L1: M1164 и использовать столбец 2 в качестве возвращаемых результатов (поскольку столбец M является вторым из L1: M1164).

Кроме того, искомое значение, вероятно, будет просто элементом относительно текущей строки. Таким образом, я бы попробовал это так (в N1):

=VLOOKUP(I1;$L$1:$M$1164;2;FALSE)

Завершение в IFERROR, как предложено в SJR-ответ также может быть хорошей идеей.

0 голосов
/ 17 января 2019

Попробуйте это

=iferror(index(m1:m1000,match(i1,l1:l1000,0)),"")

Бит соответствия возвращает 3, затем индексный бит ищет 3-е значение в столбце М; Iferror возвращает пустую строку в случае ошибки (i1 не найден).

...