Supondo que suas listas de strings estejam em uma célula por linha, você pode usar uma fórmula de matriz.
Digamos que a lista A está em A1:A3
e o intervalo B em B1:B3
. Para contar para cada um na lista A você pode usar -
=COUNT(IF(FIND(A1,$B$1:$B$3)>0,1,0))
Mas esta é uma fórmula de array, então quando você digita você termina pressionando Ctrl + Shft + Entr e você verá chaves de parêntese {}
.
SeointervaloBestiveremváriascélulas,bastausaralgocomo-
=COUNTIF($B$6:$D$8,A1)
Podehaveroutramaneiracomfórmulas,masnãoconsigopensarnisso.Vocêpodecriarumacolunaauxiliarparaoquevocêestátentandoencontrarusando
=IF(ISERROR(MATCH($A$1,$B6:$D6)),0,1)
Arrasteparabaixoaslinhase,emseguida,someacoluna.Masissoéummontedecolunasauxiliares,sevocêquisercontarparacadavalor..
SevocêestiverabertoaoVBA,umUDFsemelhanteaissofuncionaria-
Public Function countrow(rng As Range, str As String) As Integer
Dim a As Integer
a = 0
For Each Row In rng
For Each c In Row
If InStr(1, str, c) Then
a = a + 1
Exit For
End If
Next
Next
countrow = a
End Function
como -
=countrow(A6:C9,A1)