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有啥问题的主要内容,如果未能解决你的问题,请参考以下文章
vlookup函数基本使用--如何将两个Excel表中的数据匹配;excel表中vlookup函数使用方法将一表引到另一表
Python 也可以实现 Excel 中的 “Vlookup” 函数?