база данных в Excel, что не так с vlookup - PullRequest
1 голос
/ 08 января 2020

Друг попросил меня сделать что-то вроде базы данных, но в файле Excel. У меня проблема с функцией. Я использую

=IF(AND((B2=(VLOOKUP(B2;Catalogue!A:F;1;FALSE)));(C2=(VLOOKUP(B2;Catalogue!A:F;2;FALSE)));(D2=(VLOOKUP(B2;Catalogue!A:F;3;FALSE))));VLOOKUP(B2;Catalogue!A:F;4;FALSE);"not found")

Моя база данных enter image description here

Если я наберу Corner / ff / x15, он покажет правильные результаты

![enter image description here

Но если я наберу Filter / k / r, он вернется не найденным. Насколько я вижу, проверяет только первый фильтр. Я имею в виду, что он проверяет только Продукт, и я нахожу второе имя продукта, которое не соответствует другим ячейкам. Извините за мой Engli sh. Кто-нибудь может мне помочь, пожалуйста?

![enter image description here

Ответы [ 2 ]

2 голосов
/ 08 января 2020

Я предполагаю, что поля продукта, категории и подкатегории в комбинации являются уникальными, в противном случае, даже если ваша текущая формула сработает, она вернет только первый соответствующий результат.

В этом случае вы должны быть можно использовать SUMIFS, поскольку возвращаемое вами значение - числа, а комбинация полей уникальна:

Price1, Price2 и Price2 * 24% в порядке:

=SUMIFS(Catalogue!D:D; Catalogue!A:A; B2; Catalogue!B:B; C2; Catalogue!C:C; D2)
=SUMIFS(Catalogue!E:E; Catalogue!A:A; B2; Catalogue!B:B; C2; Catalogue!C:C; D2)
=SUMIFS(Catalogue!F:F; Catalogue!A:A; B2; Catalogue!B:B; C2; Catalogue!C:C; D2)

Вы можете также используйте следующее для Price1 и перетащите вправо благодаря заблокированным ссылкам:

=SUMIFS(Catalogue!D:D; Catalogue!$A:$A; $B2; Catalogue!$B:$B; $C2; Catalogue!$C:$C; $D2)
1 голос
/ 08 января 2020

Я бы рекомендовал использовать INDEX + MATCH. Это намного более универсально (и быстрее). Например:

enter image description here

Формула в E8:

=INDEX($D$2:$F$4,MATCH(1,INDEX(($A$2:$A$4=$B8)*($B$2:$B$4=$C8)*($C$2:$C$4=$D8),),0),COLUMN(A1))

Перетащите вниз и вправо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...