{=SUM(NOT(ISNA(MATCH((($A$2:$A$6="S1")*(B2:B6)),Sheet2!$A$2:$A$6,FALSE)))*(Sheet2!$B$2:$B$6))}
Первый аргумент MATCH разрешается в
{19875;0;13575;35675;0}
MATCH разрешается в
{1;#N/A;3;4;#N/A}
Вам нужно убедиться, что в нуле нет нулейSheetB.NOT ISNA превращает их в ИСТИНА и ЛОЖЬ и принимает значение
{TRUE;FALSE;TRUE;TRUE;FALSE}
. И окончательная сумма выглядит следующим образом
=SUM({TRUE;FALSE;TRUE;TRUE;FALSE}*{40;15;22;25;20})
Обновление
Я не могу найти решение с одним массивом, когда списки расположены в другом порядке.Мои попытки с OFFSET и TRANSPOSE либо дали неправильный ответ, либо разбили Excel.Если вы можете стоять, используя вспомогательный столбец, вы можете поместить эту формулу в третий столбец вашего первого листа
=VLOOKUP(B2,Sheet2!$A$2:$B$6,2,FALSE)
, а затем использовать эту формулу массива для суммирования их
{=SUM(($A$2:$A$6=A2)*($C$2:$C$6))}