excel中的数据库vlookup有啥问题

Posted

技术标签:

【中文标题】excel中的数据库vlookup有啥问题【英文标题】:database in excelwhat is wrong with vlookupexcel中的数据库vlookup有什么问题 【发布时间】:2020-04-25 23:20:40 【问题描述】:

一个朋友让我做一些类似数据库的东西,但在 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")

我的数据库是

如果我输入 Corner/ff/x15 它会显示正确的结果

但是如果我输入 Filter/k/r 它会返回 not found。据我所知,只检查第一个过滤器。我的意思是它只检查产品,我发现它与其他单元格不匹配的产品的第二个名称。 对不起我的英语不好。谁能帮帮我?

【问题讨论】:

我会使用“&”并制作一个辅助列,其结果是将前 3 列合并为 1... 这使得其余部分更简单。 【参考方案1】:

我假设产品、类别和子类别字段组合是唯一的,否则即使您当前的公式有效,它也只会返回第一个匹配的结果。

在这种情况下,您应该可以使用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)

【讨论】:

确实更好! + 它不起作用,我正在尝试解决它,但我不能。显示#VALUE! @DebbieMp 哎呀,对不起,我放错了参数命令。应首先提供要添加的列。我现在已经修复了公式【参考方案2】:

我建议使用INDEX + MATCH。它更加通用(而且速度更快)。例如:

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))

向下和向右拖动。

【讨论】:

以上是关于excel中的数据库vlookup有啥问题的主要内容,如果未能解决你的问题,请参考以下文章

Excel 中的 VLOOKUP 问题,#Value

vlookup函数基本使用--如何将两个Excel表中的数据匹配;excel表中vlookup函数使用方法将一表引到另一表

Excel中的LOOKUP函数是怎样应运的?

Python 也可以实现 Excel 中的 “Vlookup” 函数?

如何在excel进行多个条件筛选,或者vlookup所需要的数据

强大的Excel工具,简便Vlookup函数操作:通用Excel数据匹配助手V2.0