2016-07-07 79 views
0
Cell A1: 0553400710 
Cell A2: John 
Cell B1: ['0553400710', '0553439406'] 

注:替代具有索引和匹配VLOOKUP在Excel

  1. 细胞B1具有一个固定的格式[ '编号', '号,' 数字”,......]
  2. A1和A2是用户输入值
  3. 我想在单元格B1中将0553400710与单元格B1中的['0553400710','0553439406']匹配。

如果匹配,我想返回A2:John。

这可能吗?

我在here之前问过这个问题。它附有所有图片。不幸的是没有人能解决它。

谁给我一个答案最接近的一次是Jeeped其答案是

=IFERROR(INDEX(A:A, MATCH("*"&A1&"*",B:B, 0)+1), "") 

这里的问题是,它需要的列数组,而不是排阵。我需要它作为数据库的最佳实践行。有没有人可以改进这个解决方案?

我也曾尝试VLOOKUP如下但是失败

enter image description here

这里是参考 enter image description here

这里的数据是我试图匹配

enter image description here输入

+0

它需要两列数组,但一次只计算一行,直到找到匹配。我不明白这与数据库有什么不同。该功能是否有效?你只是想获得更好的表现吗? – 2016-07-07 11:15:28

+0

您可能会对本文感兴趣[EXCEL VLOOKUP VS INDEX MATCH VS SQL VS VBA](http://analystcave.com/excel-vlookup-vs-index-match-vs-sql-performance/)。它是基准不同的查找方法。它说'DOUBLE TRUE VLOOKUP'执行所有其他工作表查找。 – 2016-07-07 11:20:34

+0

我希望用户分别输入'号码'和'姓名'A1和B1。我不想把数字放在一个单元格中,并且他们的名字放在单元格下面的单元格中,并且有一长串名字号码。 – Joanne

回答

0

可能吗?

=IF(ISNUMBER(SEARCH(A1,B1)),A2,"number not found") 

这将在顶部您的示例工作。如果A1看起来像['0553400710'],您可以尝试使用SUBSTITUTE公式来删除标点符号。

不知道你在底部试图做什么,抱歉。