我有excel问题。我有2列,在A列中我有一个关键字,它出现在B列的字符串中。我尝试做的是将C列中的关键字分配给它们出现的字符串。
示例:
我尝试使用vlookup,但我仍然遇到错误。
提前感谢您的帮助!
答案 0 :(得分:1)
选择C1
单元格,在公式栏中输入下一个公式,按 CTRL + SHIFT + ENTER 进行评估,然后拖下来:
=INDEX($A$1:$A$11,MAX(IF(ISERROR(FIND($A$1:$A$11,B1)),-1,ROW($A$1:$A$11)))-ROW($A$1)+1)
以下是一些解释:
1) FIND($A$1:$A$11,B1)
- 这里我们尝试检查来自$A$1:$A$11
的值是B1
单元格中值的子字符串。如果是,我们会在B1
中找到子字符串的位置,如果不是,我们会得到#VALUE
。我们在这里得到类似的内容:{#VALUE,#VALUE,13,#VALUE,#VALUE}
2) IF(ISERROR(FIND($A$1:$A$11,B1)),-1,ROW($A$1:$A$11))
。在这里,我们将找到的子字符串的位置更改为其行号,并将#VALUE
更改为-1
。在这里,我们得到了这样的{-1,-1,3,-1}
3) MAX(IF(ISERROR(FIND($A$1:$A$11,B1)),-1,ROW($A$1:$A$11)))
从3
返回{-1,-1,3,-1}
- 子串行数
4)接下来,使用INDEX()
我们获得了相应的值,使用其行号