Объединение нескольких ВПР

Как бы я объединил их вместе в один?:

=IFERROR(VLOOKUP(B2:B11,Sheet2!A:B,2,FALSE),"No Match")
=IFERROR(VLOOKUP(B3:B12,Sheet2!D:E,2,FALSE),"No Match")
=IFERROR(VLOOKUP(B2:B11,Sheet2!G:H,2,FALSE),"No Match")

Их всего три, но в конечном итоге мне потребуется всего 12, чтобы присоединиться, так как это поиск названий команд, а всего есть 12 команд.


person Jamesmook    schedule 13.03.2015    source источник
comment
данные помогут, кажется, вы используете неправильную формулу для задачи   -  person Steven Martin    schedule 13.03.2015
comment
Почему первым параметром для vlookup является диапазон? vlookup принимает одно значение в качестве первого параметра... не диапазон.   -  person Ditto    schedule 13.03.2015
comment
Опубликуйте некоторые данные, как упомянул Стивен. Однако из формул видно, что вы пытаетесь найти название команды в одном из 3 (или 12) списков? Почему у вас 12 списков? почему не один список?   -  person Ditto    schedule 13.03.2015
comment
Итак, причина для 12 списков в том, что у меня есть база данных, в которой в настоящее время нет названий команд, но есть имена сотрудников. Чтобы обойти это и позволить персоналу искать по команде, а не только по агенту, я создал новый столбец и буду размещать эту формулу в этом столбце. Затем формула выполняет поиск в столбцах отдельных групп на листе 2, а затем помещает название соответствующей команды рядом с этим агентом на листе 1.   -  person Jamesmook    schedule 15.03.2015
comment
Я не могу поделиться точной базой данных, так как она слишком велика, но в ней также есть конфиденциальные данные. Я загрузил пример здесь›› filedropper.com/robsreportteamsearch. Я также рассмотрю реализацию ответов, уже представленных здесь, и посмотрю, работают ли они. Формула, которую я привел выше, работает и делает то, что они должны делать, просто они ищут только 1 команду, где мне нужно искать 12. Спасибо.   -  person Jamesmook    schedule 15.03.2015


Ответы (2)


Если вы хотите работать с каждой из пар столбцов по порядку, например, с тремя парами, просто:

=IFERROR(VLOOKUP(B2:B11,Sheet2!A:B,2,0),IFERROR(VLOOKUP(B2:B11,Sheet2!D:E,2,0),IFERROR(VLOOKUP(B2:B11,Sheet2!G:H,2,0),"No Match")))  

предполагая, что B2 должен быть вашим поисковым запросом (lookup_value) и что приведенная выше формула находится в Row2. Если диапазоны используются в качестве условия поиска в функции ВПР, используется значение строки, в которой находится формула («подразумеваемый перехват»).

Обычно предпочтительнее (например, немного короче) использовать вместо этого версию, подобную этой:

 =IFERROR(VLOOKUP(B2,Sheet2!A:B,2,0),IFERROR(VLOOKUP(B2,Sheet2!D:E,2,0),IFERROR(VLOOKUP(B2,Sheet2!G:H,2,0),"No Match"))) 

и скопируйте формулу вниз, когда B2 автоматически адаптируется к B3 и т. д. (Короче также, почему я предпочитаю 0 вместо FALSE.)

Как упоминал @Ditto, ваши данные имеют необычный макет. Если у вас нет особых причин для двенадцати пар столбцов, может показаться, что одной пары должно быть достаточно, поскольку вы, похоже, не пытаетесь поставить какое-либо условие, при котором команда ищет какое «значение B2». Сложенные в столбцы A: B (во что бы то ни стало, с пробелами для их разделения и метками для отдельных команд), не потребуется повторять одну из ваших формул, этого должно быть достаточно вместо всех 12:

 =IFERROR(VLOOKUP(B2,Sheet2!A:B,2,0),"No Match")  

Если можно гарантировать, что результат будет найден где-то (или #N/A принят, если нет, вместо "Нет совпадения"), это можно еще упростить до:

  =VLOOKUP(B2,Sheet2!A:B,2,0)
person pnuts    schedule 13.03.2015
comment
Как мне отблагодарить вас за это, вы мне очень помогли? - person Jamesmook; 15.03.2015
comment
@Jamesmook, чтобы дать pnuts репутацию за это, проголосуйте за его ответ с помощью стрелки вверх над числом слева от его ответа и нажмите на галочку, чтобы отметить его ответ как ответ. Это дает ему репутацию, а также помечает вопрос как отвеченный, поэтому те из нас, кто ищет вопросы без ответов, не приходят сюда и не обнаруживают, что пнатс опередил нас. - person Alex R.; 16.03.2015

=ЕСЛИОШИБКА(ВПР(B2:B11,Лист2!A:B,2,ЛОЖЬ),"Нет совпадения")
=ЕСЛИОШИБКА(ВПР(B3:B12,Лист2!D:E,2,ЛОЖЬ),"Нет Совпадение")
=ЕСЛИОШИБКА(ВПР(B2:B11,Лист2!G:H,2,ЛОЖЬ),"Нет совпадений")

Станет:

=ЕСЛИОШИБКА(ВПР(B2:B11,Лист2!A:B,2,ЛОЖЬ),   ЕСЛИОШИБКА(ВПР(B3:B12,Лист2!D:E,2,ЛОЖЬ),
  ЕСЛИОШИБКА(ВПР(B2:B11, Sheet2!G:H,2,FALSE),"Нет соответствия")
)
)

В конечном счете:

=ЕСЛИОШИБКА(ВПР(B2:B11,Лист2!A:B,2,ЛОЖЬ),ЕСЛИОШИБКА(ВПР(B3:B12,Лист2!D:E,2,ЛОЖЬ),ЕСЛИОШИБКА(ВПР(B2:B11,Лист2!G) :H,2,FALSE),"Не совпадает")))

Однако результат все равно будет Нет совпадений, поскольку "B2:B11" и не принимается в качестве входных данных Lookup_value с функцией VLOOKUP<. /em> функция, упомянутая @Ditto.

person user3819867    schedule 13.03.2015
comment
Пнатс, ты звезда!!! Ваш ответ работает как сон! Я усложнял себе задачу, и ваш ответ настолько прост, что я не знаю, почему я не видел его раньше. Это сработало лучше всего =ЕСЛИОШИБКА(ВПР(B2,Лист2!A:B,2,0),нет совпадения) - person Jamesmook; 15.03.2015