Предполагая, что ваши списки строк находятся в 1 ячейке на строку - вы можете использовать формулу массива.
Мы скажем, что список A находится в A1:A3
а диапазон B находится в B1:B3
. Для подсчета каждого в списке А вы можете использовать -
=COUNT(IF(FIND(A1,$B$1:$B$3)>0,1,0))
Но это формула массива, поэтому, когда вы набираете ее, вы нажимаете Ctrl+Shft+Entr и видите фигурные скобки {}
.
Если диапазон B находится в нескольких ячейках, вы можете просто использовать что-то вроде -
=COUNTIF($B$6:$D$8,A1)
Может быть другой способ с формулами, но я не могу думать об этом. Вы можете создать вспомогательный столбец для того, что вы пытаетесь найти, используя
=IF(ISERROR(MATCH($A$1,$B6:$D6)),0,1)
Перетащите его вниз по строкам, затем суммируйте этот столбец. Но это много вспомогательных столбцов, если вы хотите посчитать его для каждого значения ..
Если вы открыты для VBA, UDF, подобный этому, будет работать -
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
лайк -
=countrow(A6:C9,A1)