Excel formula Excel公式从列表中的字段中查找值并返回关联值

Excel formula Excel公式从列表中的字段中查找值并返回关联值,excel-formula,Excel Formula,我正在尝试创建一个excel公式,用于在不同搜索词列表中的单元格中搜索值。找到后,应返回该行的值 搜索词值: Grocery 31 Pub 42 Restaurant 45 Taxi 58 Bus 58 我猜伪代码应该是这样的: =IF((A1 IS IN C1:C10);D1:D10;"blank") 我创造了这个公式,但很难维持。我想使用列表而不是修改公式 =IF(OR( (ISNUMB

我正在尝试创建一个excel公式,用于在不同搜索词列表中的单元格中搜索值。找到后,应返回该行的值

搜索词值:

Grocery     31    
Pub         42    
Restaurant  45    
Taxi        58    
Bus         58    
我猜伪代码应该是这样的:

=IF((A1 IS IN C1:C10);D1:D10;"blank")
我创造了这个公式,但很难维持。我想使用列表而不是修改公式

=IF(OR(    (ISNUMBER(SEARCH("GROCERY", E3))), "31", 
(IF(OR(    (ISNUMBER(SEARCH("PUB", E3))), "42", 
(IF(OR(    (ISNUMBER(SEARCH("Restaurant", E3))), "45", 
(IF(ISNUMBER(SEARCH("Taxi", E3)), "58", "")))))))`

假设我们要搜索的文本在A1中,我们的小查找表在D1E5中:

B1中输入数组公式:

=IFERROR(VLOOKUP(TEXTJOIN(",",TRUE,IF(ISNUMBER(SEARCH($D$1:$D$5,A1)),$D$1:$D$5,"")),$D$1:$E$5,2,TRUE),"")

如你所见,公式扫描小表格;查找发布并返回关联的数值


数组公式必须使用Ctrl+Shift+Enter键输入,而不仅仅是Enter键。如果操作正确,公式将在公式栏中显示,并用大括号括起来。

索引/聚合将找到并返回正确的值:

=INDEX(F:F,AGGREGATE(15,7,ROW($E$1:$E$5)/(ISNUMBER(SEARCH($E$1:$E$5,A1))),1))

考虑使用
VLOOKUP()
VLOOKUP似乎不能很好地处理文本字段。搜索文本可以是“外域为AVD奥斯陆2号,奥斯陆,NO-628,0”,在列表中我有“外域”。用于在文本中搜索的旧公式。有没有一种方法可以组合这些功能?很好。。。。。。。。。。。。。。。。。。。。。。。。。。。。我会把这个放在我的工具箱里。你的会返回多个,而我的只返回列表上的第一个匹配项,看看OP想要什么会很有趣。两者都有各自的位置。