COUNTIF部分匹配

问题描述:

我正在进行密码审计,并且我试图解决的任务之一是计算用户名在密码中存在的实例数。例如,用户名可能是'mikeb',他们的密码是'mikeb123'。COUNTIF部分匹配

搜索密码中的用户名是很简单的:COUNTIF(A:A, “mikeb”)

我遇到的是如何我检查A1对B1,A2对B2,对这个问题整个列,并加起来B的数量包含A.

目前我使用了一个解决方法,我进行比较,然后计算一个单独的列中的真值的数量。如果可能的话,我想摆脱另一列。

编辑:每请求,虚拟数据:

Username Password    Password Contains Username? 
Bob   BobHasASneakyPa$$word TRUE 
Carol  No1LikesUCarol  TRUE 
Admin  <>@@[email protected]@<>   TRUE 
Brian  ;Ui6$m8/4??k3&)r7  FALSE 

这是我的数据看起来像现在。我使用COUNTIF(A2, “*” & B2 & “*”)> 0第三列,然后做COUNTIF(C:C, “TRUE”)以计数的时间发生这种情况#。理想情况下,我会将这些组合成一个等式。

+0

一些虚拟数据将帮助我们 – ManishChristian

+0

只是隐藏自己的第三列,假装它不存在 – Tom

+0

嗯,这是我在做什么,现在。任何需要两步的东西,我看它是否可以在一个中完成。 – Tchotchke

使用

=SUMPRODUCT(--ISNUMBER(SEARCH(A2:A5,B2:B5))) 

我已经在你的虚拟数据测试,这和搜索的密码,用户名尝试。它返回3的答案,这与总结你的第三列相同。

你也能做出这样区分大小写的,如果需要,可以通过改变SEARCHFIND

+0

作品!谢谢您的帮助! – Tchotchke