在具有多个匹配项的Excel列中查找单个值

我有一个客户号码列表,我需要search一个帐号列表,找出客户是否在他们的文件中有一个特定的帐号。

我的原单是这样的

原版的

我的帐号列表如下所示

  • 217 1008
  • 218 1008
  • 219 1008
  • 217 2009年
  • 218 2009年
  • 2009年
  • 218 3015
  • 219 3015
  • 217 4017
  • 219 4017

预期的结果如下所示

结果

本来,我连接客户端和帐号,然后做了一个VLOOKUP,但我相信有一个更好的方法。 也许在工作表中使用VBA而不是公式。 谁能帮我吗?

如果您的客户和帐户列表在单独的单元格中,则可以使用Countifs()

在这里输入图像说明

正如@pnuts所说,数据透视表会为你提供你的结果表,但是如果你有大量的客户/账户,它很快就会变得不方便。 除非您不想修改数据,否则您的VLOOKUP CONCATENATE值是一个好方法。

如果你只是把它作为一个单一的镜头检查less量的客户端/帐户,也许只是使用数据上的自动filter可能是一个更简单的解决scheme?

如果客户端和帐户在同一列中,则可以使用此尝试来MATCH行和列标题的连接(使用空格):

 =IF(NOT(ISERROR(MATCH($C4&" "&D$1,$A$2:$A$11,0))),"X","") 

例如:

在这里输入图像说明

我将假定结果中显示的表格在单元格A1中开始,所以你的公式将被input到B3中,并被右键和复制。 我也会假设你的账户清单是在一个命名的范围内的Acct

 =IF(MATCH($A3&" "&B$14,Acct)>0,"X","") 

复制到B3:E5中的所有单元格。

这是使用Index/Match的另一种方法。 将你的217 1008列分成两列,使用文本到列,空格分隔符。 然后说这些在范围J1:J10( 217, 218, etc. ),而在K1:K10是1008, 1009, etc.

=IF(NOT(ISERROR(INDEX($J$1:$J$10,MATCH($A2&B$1,$J$1:$J$10&$K$1:$K$10,0)))),"X","")
(用CTRL + SHIFT + ENTERinput数组)

其中A2是你217号码开始下降,B1是1008开始右转。