Нужен совет по VLOOKUP, LOOKUP или MATCH

У меня есть четыре столбца Name , Y/N , NameList и Результат , например:

   A          B              C            D 
  Name       Y/N          NameList      Result   
  Abc         Y            Xyz            N
  Xyz         N            Wto            N.A
  Def         Y            Abc            Y
                           Tow            N.A
                           Wtf            N.A
                           Qrz            N.A
                           Def            Y

Я хочу заполнить столбец D (Результат) в соответствии с столбцом B, если совпадают A и C. Я пробовал LOOKUP, VLOOKUP и MATCH, но все равно не получаю то, что хочу, например:

=INDEX($B$2:$B$51,MATCH($A$2:$A$51,$C$2:$C$75,0)) 

Что я здесь делаю неправильно?

1
nl ja de

2 ответы

Если вы готовы заменить пробелы в столбце A (ничем), тогда

=IFERROR(VLOOKUP(REPLACE(C2,SEARCH(" ",C2),1,""),A$2:B$5,2,FALSE),VLOOKUP(C2,A$2:B$5,2,FALSE))

должен работать для записей в NameList, которые включают одно пространство, а также те, у которых нет пробелов, но вы можете сначала применить TRIM к NameList.

NOTE: Chris Neilsen's solution (in a comment on the OP's own answer) is a much better solution (once the requirements were clarified!)

1
добавлено
Он не является частью ПОИСКА, а является частью REPLACE, где означает замену одного символа (здесь) пробелом (здесь).
добавлено автор pnuts, источник
Вопрос (в вашем ответе) был «что я должен делать, чтобы также соответствовать abc/123 и abc/123», т.е. одно «внутреннее» пространство. Множество внутренних пространств потребует либо другого подхода (например, VBA, например, ожидаемого на этом сайте), либо расширения «моего» решения для покрытия множества «внутренних» пространств - возможно, но будет длинной формулой. IFERROR должен поймать неудачную попытку замены (потому что нет места в источнике).
добавлено автор pnuts, источник
может ли я решить, что означает 1 в функции поиска?
добавлено автор 10e5x, источник
Я попробовал ваше решение, но не могу работать. Например, я хочу сопоставить APL DEN/055W (столбец A) с APL DEN/055W (колонка C), JAME RIVER B/018A с JAME RIVER B/018A. И мне нужен IFERROR? Мне нужна эта срочная, любая помощь?
добавлено автор 10e5x, источник
Я думаю, чтобы моя колонка А от «/» до «/». Но я dk, как реализовать замену в столбце A, если я не генерирую другой столбец
добавлено автор 10e5x, источник

Я нашел решение своего собственного ответа, но оно не является идеальным, потому что оно должно совпадать точно так же. Значение пробелов. Но я буду придерживаться этого в первую очередь. Если кто-то лучше ответит, пожалуйста, посоветуйте.

    =VLOOKUP(C2,$A$2:$B$4,2,FALSE)  

благодаря

P.S, что я должен сделать, чтобы также соответствовать abc/123 и abc/123. Из-за пространства в настоящее время они не соответствуют

0
добавлено
@chrisneilsen Но (это выясняется) OP имеет несколько пробелов как в столбцах ColumnA, так и в ColumnC, и, поскольку рассматривает имена, предположительно дублирование подстрок в ячейках, которые не предназначены для сопоставления.
добавлено автор pnuts, источник
Чтобы обработать возможность пробелов в столбце A , используйте = VLOOKUP (C2, SUBSTITUTE ($ A $ 2: $ B $ 4, "", ""), 2, FALSE) вводится как формула массива (нажмите Ctrl-Shift-Enter , а не просто Enter ), чтобы завершить формулу)
добавлено автор chris neilsen, источник
@pnuts Если столбец C может также содержать пробелы, используйте = VLOOKUP (SUBSTITUTE (C2, "", ""), SUBSTITUTE ($ A $ 1: $ B $ 4, "", "") , 2,0) (также как формула массива)
добавлено автор chris neilsen, источник