https://i.stack.imgur.com/1GIk4.png
您好,我需要使用 VLOOKUP 在多个条件、多个同义词之间进行搜索,并根据表格输入输出一个值。例如,图 1 是同义词列表,这些同义词将在另一个表中具有后续值。我希望该函数查找这些名称中的任何一个,并在每个示例的相应 VLOOKUP 列中输出值。我试过这个:
=VLOOKUP(OR(C$2=TRUE,C$3=TRUE,C$4=TRUE,C$5=TRUE,C$6=TRUE,C$7=TRUE,C$8=TRUE)=TRUE,'[Worksheet2.xlsx]BD-7 1'!$F$1:$G$73,2)
但运气不佳。VLOOKUP 似乎不支持使用多个条件。感谢您的帮助!
答案1
- VLOOKUP() 在列表中查找一项(第一个参数),
- 该列表位于作为第二个参数的数组的第一列,
- 第三个参数告诉从数组中选择哪一列,1 = 返回匹配的项目
- 最后一个参数为 FALSE,以尝试找到完全匹配。
现在说一下:您可以输入任何(单个)同义词,甚至可以输入匹配模式[1]来查找。
要返回的值或项可以位于第一列右侧的任意列(包含在数组定义中)或第一列。
[1]*
表示有多个可能的字符,?
表示只有一个字符
答案2
您对 答案的评论中的解决方案Hannu
应该可以正常工作。下面的解决方案可能被认为稍微透明一些,并且可以捕获更多错误。(但是,捕获更多错误可能会隐藏您想发现和解决的问题,尽管如果您的数据(查找值或返回值数据集)不错并且可能始终不错,那么这并不一定是问题。)
=SUM(IFERROR(VLOOKUP(C1:C3,C13:D14,2,FALSE),0))
它用于IFERROR()
捕获失败的查找并赋予它们零值,因此不会在您想要的总和上添加任何内容,然后SUM()
简单地将它们全部加起来。
(可能更快,但也可能不是。如果查找发生在一个地方,可能不是一个问题,但如果针对整个数据集进行计算,则可能很重要,具体取决于其大小。)