Ваша первая формула почти верна.Вы получаете сообщение об ошибке, потому что в фигурных скобках есть только один столбец, поэтому вам нужно изменить его на
=ArrayFormula(vlookup(A1&B1,{Sheet2!A:A&Sheet2!B:B},1,false))
и добавить «ложь», чтобы убедиться, что он только соответствует точным совпадениям.
Чтобы запрос работал, вам необходим правильный синтаксис для доступа к ячейкам на текущем листе:
=query(Sheet2!A:B," select A,B where A='"&A1&"' and B='"&B1&"'")
Чтобы сопоставление работало, вам нужно ввести его как формулу массива и добавить ноль куказать точное совпадение:
=ArrayFormula(MATCH(A1&B1,{Sheet2!A:A&Sheet2!B:B},0))
Однако я бы не согласился с коллегами, если бы не указал, что есть проблема с vlookup и соответствием, как показано выше - toto & moto будет соответствовать не только toto & moto,но также с tot & omoto и т. д. Чтобы обойти это, нужно добавить символ-разделитель, например
=ArrayFormula(vlookup(A1&"|"&B1,{Sheet2!A:A&"|"&Sheet2!B:B},1,false))
=ArrayFormula(MATCH(A1&"|"&B1,{Sheet2!A:A&"|"&Sheet2!B:B},0))
Они все еще нуждаются в некоторой обработке, если они сообщают о Да и Нет, а также не дают ложный положительный результат на пустом месте.строки - также vlookup и match могут быть записаны как формулы самораскрывающегося массива - но это короткий ответ на вопрос.