在具有多个匹配项的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
开始右转。