Excel使用通配符交叉检查2个数组

时间:2014-12-14 16:10:40

标签: excel-formula

我不知道如何描述这个,但是我很困惑,因此我会尝试。

我想检查一个列表中的项是否在另一个包含通配符的列表中

你可以用COUNTIF

做相反的事情

例子。
[LIST]
“立刻找到我”,
“稍后再找我”

COUNTIF(列表;“立即查找”) 这将导致“匹配”,因为通配符位于第二个参数中。

但我想要的是包含通配符的列表并且仍然匹配 像

[LIST]
“立即查找”
“查找*稍后”

COUNTIF(LIST;“立即寻找我”);

上面的确有效,但我试图找到一些可以做到的事情。

我制作了一个VBA功能,可以完成我想要的功能,但由于1600个列表* 10个列表* 60个单元格,因此运行速度很慢....


编辑:

我用VBA和结果的全局存储变量解决了这个问题。

1 个答案:

答案 0 :(得分:0)

我认为即使@laxxen有问题的解决方案,也可能值得分享。

您可以设置“自己动手”'计算搜索字符串和模式之间匹配的方法。我试过的一个公式是数组公式

=SUM(--ISNUMBER(SEARCH($A$2:$A$5,B2)))

即。使用SEARCH尝试使用每个通配符模式在B2中的字符串,并计算正结果的数量。

但是我不认为这是正确的,因为SEARCH尝试在'内的每个位置进行匹配。文本,所以如果你想要它只匹配'在'内开始匹配的情况。文字,你需要像(另一个数组公式)

=SUM(--IFERROR((SEARCH($A$2:$A$5,B2)=1),0))

这显示了使用两个公式的结果: -

enter image description here