索引匹配:单元格到映射的字符串

时间:2016-09-19 06:04:37

标签: excel excel-formula excel-2010

我正在尝试将字符串与文本匹配。我想返回这些“映射”的索引。

我试过了:=INDEX($A$2:$A$1000;MATCH(F2;$B$2:$B$1000;1))

但是,我的错误值:

enter image description here

在映射中,值都是不同的,如示例所示!

有什么建议我做错了吗?

感谢您的回复! 的更新

我在google电子表格中使用了以下公式:

https://docs.google.com/spreadsheets/d/1qTrAcwIWuGFhF7w6Dm2-A_1km9eAyILnEzkac8GMkQ8/edit?usp=sharing

我还没有得到映射。有什么建议我做错了吗?

2 个答案:

答案 0 :(得分:2)

MATCH(F2; $ B $ 2:$ B $ 1000; 1)返回$ B $ 2中最后一个单元格的位置:$ B $ 1000,大于或等于F2。

  • '此文字包含地图Me1'大于$ B $ 2中的所有单元格:$ B $ 1000所以你得到最后一个=> ' MAP10'在$ A2中编入索引时:$ A1000

  • '映射我2'等于映射我2,所以你得到匹配的单元格=> '地图2'

  • 没有小于或等于< Lorem ipsum的地图me3'所以你得到#N / A

您可以在您要匹配的文本中放置通配符(F2)但不在查找范围内($ B $ 2:$ B $ 1000),因此要进行不精确的匹配,您必须使用带有FIND的数组公式或者搜索。

一个这样的公式(假设查找列表不包含空格)是

=INDEX($A$2:$A$1000,MATCH(TRUE,ISNUMBER(SEARCH($B$2:INDEX($B$2:$B$1000,COUNTA($B$2:$B$1000)),F2)),0))

必须使用 Ctrl Shift 输入

输入

我添加的条目与列表中的任何项目都不匹配。

整个公式可以包含在IFERROR语句中以避免#N / A.

IFERROR(INDEX($A$2:$A$1000,MATCH(TRUE,ISNUMBER(SEARCH($B$2:INDEX($B$2:$B$1000,COUNTA($B$2:$B$1000)),F2)),0)),"")

(如果这适合您的语言环境,请将替换为; )。

这有点短,是非数组公式,但如果有多个匹配则返回最后一个匹配。

=IFERROR(LOOKUP(9E+307,SEARCH($B$2:INDEX($B$2:$B$1000,COUNTA($B$2:$B$1000)),F2),$A$2:$A$1000),"")

enter image description here

答案 1 :(得分:2)

巴里是公式的大师,但你可以试试这个数组公式

G1输入 =IF(LEN(F2)>0,INDEX($A$2:$A$10,MIN(IF(NOT(ISERR(FIND(LOWER($B$2:$B$10),LOWER(F2)))),ROW($B$2:$B$10)-1,MAX(ROW($B$2:$B$10)+1)))),"no data")

一起使用

enter image description here