我不知道如何描述这个,但是我很困惑,因此我会尝试。
我想检查一个列表中的项是否在另一个包含通配符的列表中
你可以用COUNTIF
做相反的事情例子。
[LIST]
“立刻找到我”,
“稍后再找我”
COUNTIF(列表;“立即查找”) 这将导致“匹配”,因为通配符位于第二个参数中。
但我想要的是包含通配符的列表并且仍然匹配 像
[LIST]
“立即查找”
“查找*稍后”
COUNTIF(LIST;“立即寻找我”);
上面的确有效,但我试图找到一些可以做到的事情。
我制作了一个VBA功能,可以完成我想要的功能,但由于1600个列表* 10个列表* 60个单元格,因此运行速度很慢....
编辑:
我用VBA和结果的全局存储变量解决了这个问题。
答案 0 :(得分:0)
我认为即使@laxxen有问题的解决方案,也可能值得分享。
您可以设置“自己动手”'计算搜索字符串和模式之间匹配的方法。我试过的一个公式是数组公式
=SUM(--ISNUMBER(SEARCH($A$2:$A$5,B2)))
即。使用SEARCH尝试使用每个通配符模式在B2中的字符串,并计算正结果的数量。
但是我不认为这是正确的,因为SEARCH尝试在'内的每个位置进行匹配。文本,所以如果你想要它只匹配'在'内开始匹配的情况。文字,你需要像(另一个数组公式)
=SUM(--IFERROR((SEARCH($A$2:$A$5,B2)=1),0))
这显示了使用两个公式的结果: -