Ключом к объединению ваших наборов данных является извлечение списка уникальных имен. Это намного проще, если все имена находятся в одном столбце. Если вы хотите, чтобы ваши данные были расположены так, как вы показали, есть решение VBA, поэтому прокомментируйте ниже, если вам это нужно.
В первой таблице ниже я переместил ваши данные "B" в данные "A" и добавил еще несколько строк в каждом разделе.
Эта формула, заполненная из E2, перечисляет имена и удаляет дубликаты:
=IFERROR(INDEX((A$2:A$15),MATCH(0,COUNTIF($E$1:E1,A$2:A$15),0)),"")
Это формула массива, поэтому ее необходимо вводить с помощью клавиши CTRL Shift Enter.
Эти две формулы, заполненные из F2 и G2, складывают балл и значение для каждого имени в списке:
=IF(LEN(E2)<1,"",SUMIF(A$2:A$15,E2,B$2:B$15))
=IF(LEN(E2)<1,"",SUMIF(A$2:A$15,E2,C$2:C$15))
______________________________________________________________________
Как это работает: Внутренний COUNTIF()
создает массив количества раз, которое каждое из имен в столбце A появляется в растущем списке в столбце E. MATCH()
находит позицию первого 0 (соответствует имени, которое еще не был указан) в этом массиве, и он используется как row_num в INDEX()
, который выбирает имя из столбца A. Имена, которые уже были перечислены, больше не появляются.
IFERROR()
вставляет пробелы для строк, которые будут иметь #NUM! ошибка, когда в формуле заканчиваются уникальные значения.
Две формулы SUMIF()
просто складывают числа Score и Value для каждого имени. IF()
вставляет пробел для строк, длина столбца E которых <1 (т. Е. Ячейка не имеет имени и выглядит пустой).