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

在Excel列中查找具有多个匹配项的单个值,excel,excel-formula,vba,Excel,Excel Formula,Vba,我有一个客户号码列表,我需要搜索一个帐户号码列表,以确定客户的文件中是否有特定的帐户号码 我原来的床单是这样的 我的帐号列表如下所示 2171008 2181008 2191008 217 2009 218 2009 219 2009 2183015 2193015 2174017 2194017 预期结果如下所示 最初,我连接了客户和账号,然后做了一个VLOOKUP,但我相信有更好的方法。可能使用VBA而不是工作表中的公式。有人能帮我吗?我假设结果中显示的表格从单元格A1开始,因此您的

我有一个客户号码列表,我需要搜索一个帐户号码列表,以确定客户的文件中是否有特定的帐户号码

我原来的床单是这样的

我的帐号列表如下所示

  • 2171008
  • 2181008
  • 2191008
  • 217 2009
  • 218 2009
  • 219 2009
  • 2183015
  • 2193015
  • 2174017
  • 2194017
预期结果如下所示


最初,我连接了客户和账号,然后做了一个VLOOKUP,但我相信有更好的方法。可能使用VBA而不是工作表中的公式。有人能帮我吗?

我假设结果中显示的表格从单元格A1开始,因此您的公式将在B3中键入,并从右向下复制。我还将假定您的帐户列表位于命名范围
Acct

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

将其复制到示例中B3:E5中的所有单元格。

我将假设结果中显示的表格从单元格A1开始,因此您的公式将在B3中键入并向下复制。我还将假定您的帐户列表位于命名范围
Acct

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

将其复制到示例中B3:E5中的所有单元格。

如果客户和帐户列表位于不同的单元格中,则可以使用
Countifs()


如果您的客户和帐户列表位于不同的单元格中,您可以使用
Countifs()


正如@pnuts所说,数据透视表将为您提供结果表,但如果您有大量的客户/帐户,数据透视表很快就会变得非常笨拙。连接值的VLOOKUP是一个很好的方法,除非您不想修改数据


如果您只是对少数客户/帐户进行一次性检查,那么对数据使用自动筛选可能是一个更简单的解决方案?

正如@pnuts所说,数据透视表将为您提供结果表,但如果您有大量客户/帐户,它将很快变得笨拙。连接值的VLOOKUP是一个很好的方法,除非您不想修改数据


如果您只是对少量客户机/帐户进行单次检查,那么对数据使用自动筛选可能是一个更简单的解决方案?

如果客户机和帐户位于同一列中,您可以使用此选项,尝试
匹配行和列标题的串联(带空格):

例如:


如果您的客户机和帐户位于同一列中,您可以使用它来尝试匹配行标题和列标题的串联(带空格):

例如:


这里有另一种方法,使用
索引/匹配
。使用文本到列、空格分隔符将
217 1008
列一分为二。然后说它们在范围J1:J10(
217、218等
)内,在K1:K10是
1008、1009等

=IF(非(iError(索引($J$1:$J$10,匹配($A2&B$1,$J$1:$J$10和$K$1:$K$10,0))),“X”和“)

(按CTRL+SHIFT+enter组合键作为数组输入)


其中A2是
217
数字下降的开始,B1是
1008
开始向右转。

这里有另一种方法,使用
索引/匹配
。使用文本到列、空格分隔符将
217 1008
列一分为二。然后说它们在范围J1:J10(
217、218等
)内,在K1:K10是
1008、1009等

=IF(非(iError(索引($J$1:$J$10,匹配($A2&B$1,$J$1:$J$10和$K$1:$K$10,0))),“X”和“)

(按CTRL+SHIFT+enter组合键作为数组输入)


其中A2是您的
217
数字下降的开始,B1是
1008
开始向右转。

您所说的PT是什么意思?PT=
数据透视表(
:)对此可能有些过分。下面建议了两种基于公式的方法,例如
COUNTIFS
MATCH
(我自己的)都很有效。问得好,我没想到会有这么多非VBA的方法。下面的答案中有很多小技巧。@pnuts完全同意,它们是同义词。:)你说的PT是什么意思?PT=
透视表(Pivot Table
:)可能太过分了。下面建议了两种基于公式的方法,例如
COUNTIFS
MATCH
(我自己的)都很有效。问得好,我没想到会有这么多非VBA的方法。下面的答案中有很多小技巧。@pnuts完全同意,它们是同义词。:)它们在不同的列中它们在不同的列中这正是我需要的!我不知道为什么我找不到最简单的答案。VBA解决方案绝对是过火了。这正是我所需要的!我不知道为什么我找不到最简单的答案。VBA解决方案绝对是过火了。