Если пусто, верните 0, иначе запустите vlookup - PullRequest
1 голос
/ 27 мая 2020

Я хотел бы использовать функцию vlookup для сопоставления двух значений критериев, в первую очередь, на основе значения, выбранного в раскрывающемся меню (страна), и значения в A2 (имя). Если значение в листе A2 совпадает с одним из значений в столбце A в листе Sheet2, а значение раскрывающегося меню в листе Sheet1 совпадает с одним из значений в столбце D листа 2 (что является объединением имени и страны), я хотел бы чтобы вернуть соответствующее значение в столбце Sheet2 C.

Если значение равно 0 или пусто, я хотел бы вернуть 0.

Это то, что я пробовал

=ARRAYFORMULA(
 IF(
   ISBLANK(
    IFERROR(VLOOKUP(A2&C2,Sheet2!$A$2:$E$61,3,1),"0"))))

Не уверен, что я делаю неправильно

Вот образец моих данных

Лист 1:

A           B             C        
name1      (vlookup)    [dropdownmenu]

и Лист 2

A                 B                    C
name1            val                   concatenationofA&B

Вот тестовый лист по запросу:

https://docs.google.com/spreadsheets/d/1jsFnaGY7N9nXyPs5vR32jG5G838w1SgB2XIad7bEFXg/edit?usp=sharing

Ответы [ 2 ]

2 голосов
/ 27 мая 2020

попробуйте:

=ARRAYFORMULA(IFNA(VLOOKUP(A2:A&C2:C, {Sheet2!A2:A&Sheet2!B2:B, Sheet2!C2:C}, 2, 0), 0))

enter image description here

0 голосов
/ 27 мая 2020

Мне удалось решить эту проблему с помощью функции запроса

=QUERY(Sheet2!$A$2:$E$61,"select C where B = """&C12&""" and A = """&A12&""" ")

Единственная проблема в том, что я не знаю, как подавить значения NA / заменить их значением 0

...