Используйте эту формулу массива:
=IF($D2=E$1,"X",SUM(--(ISNUMBER(MATCH(INDEX($A:$A,N(IF({1},MODE.MULT(IF($B$2:$B$15=$D2,ROW($B$2:$B$15)*{1,1}))))),INDEX($A:$A,N(IF({1},MODE.MULT(IF($B$2:$B$15=E$1,ROW($B$2:$B$15)*{1,1}))))),0)))))
Будучи формулой массива, она должна быть подтверждена Ctrl-Shift-Enter вместо Enter при выходе из режима редактирования.
Эта формула создает два массива номеров доставки:
MODE.MULT(IF($B$2:$B$15=$D2,ROW($B$2:$B$15)*{1,1}))
Создает массив номеров строк, в которых найдено значение в D2 или E1 в другой половине.
Эти номера строк проходят через N()
который приводит массив к INDEX
который затем создает массив поставок, доставивших этот элемент.
MATCH()
выполняет итерацию первого массива и проверяет, найден ли он во втором массиве. Если он найден, он вернет число, если не ошибка.
Функция ISNUMBER()
возвращает значение ИСТИНА / ЛОЖЬ на основе номера или ошибки МАТЧА.
--
превращает ИСТИНА / ЛОЖЬ в 1/0, и сумма будет суммировать этот окончательный массив.