Если у вас всегда есть три буквы в ячейках в строке 1, вы можете использовать:
=SUM(--ISNUMBER(SEARCH(MID(B$1,{1,2,3},1),$A2)))
Это постепенная эволюция ответа Лорана. Я сделал пару оптимизаций.
Прежде всего,
IF ( Boolean_value , 1 , 0)
немного избыточен, так как TRUE имеет значение 1, а FALSE имеет значение 0.
Логические значения могут быть легко преобразованы в их эквивалентные целые числа с префиксом -- ; сокращение от - ( - ( value ) ) , это сохраняет числовое значение, но приводит тип к целому числу.
И тогда {1,2,3} - это массив, который (с функцией SUM) устраняет необходимость добавления трех почти идентичных терминов.
Для обработки строк в строке 1 различной длины используйте
=SUM(--ISNUMBER(SEARCH(MID(B$1,ROW(INDIRECT("1:"&LEN(B$1))),1),$A2)))
Это похоже на первый ответ, за исключением того, что мы получаем длину строки в верхней части столбца, LEN(B$1) , и соединяем ее со строкой « 1: », образуя что-то вроде « 1:3 ».
Это выглядит как диапазон строк, и функция INDIRECT обрабатывает его именно так, возвращая диапазон адресов $1:$3 .
И тогда ROW() этого возвращает массив {1,2,3} .
Это хитрость для создания массива последовательных чисел, начало и конец которого не определены заранее.
Приведенная выше формула должна быть введена с помощью Ctrl+Shift+Enter.
Я не уверен, почему это необходимо, а первый нет.
Ваш пример / иллюстрация показывает, что в ваших строках есть пробелы.
Если это правда (но вы не хотите, чтобы пробелы считались), формула становится
=SUMPRODUCT(--(MID(B$1,ROW(INDIRECT("1:"&LEN(B$1))),1)<>" "),--ISNUMBER(SEARCH(MID(B$1,ROW(INDIRECT("1:"&LEN(B$1))),1),$A2)))
который также должен быть введен с помощью Ctrl+Shift+Enter.