Вот возможное решение. (Надеюсь, я правильно понял ваши настройки)
Шаг 1) Разделите все ваши уникальные имена в столбце A на новый лист, снова в столбец A на новом листе - если вы используете Excel 2007 или более позднюю версию, вы можете просто скопировать весь столбец, а затем использовать инструмент удаления дубликатов
Шаг 2) На новом листе добавьте следующее в столбец B2. Это будет подсчитывать количество вхождений каждого имени. (Примечание: я предполагаю, что ваши необработанные данные находятся на листе 1, а новая копия обрабатывается на листе 2)
=COUNTIF(Sheet1!$A$1:$A$5,$A2)
Шаг 3) Добавить следующее в C3. Это найдет номер строки первого вхождения имени. (ВАЖНО: это означает, что для ваших необработанных данных должна быть применена сортировка, чтобы все имена отображались сгруппированными)
=MATCH($A2,Sheet1!$A$1:$A$5,0)
Шаг 4) В столбцах D - J вам необходимо добавить следующую формулу массива. Если вы раньше не работали с формулой массива: (i) выберите ячейки D2: J2 (ii) убедитесь, что D2 является активной ячейкой (iii) введите приведенную ниже формулу в строку формул (iv) нажмите ctrl + shift + enter
Это берет ваши данные в столбце B, смещает их по вхождению первой строки (Шаг 3), изменяет размер на количество имен (Шаг 2) и транспонирует (что переворачивает строки для столбцов)
=TRANSPOSE(OFFSET(Sheet1!$B$1:$B$5,C2-1,0,B2))
Это может удовлетворить ваши потребности как есть, но если вы настаиваете на запятой, разделяющей дни, то вы можете добавить это в K2 и просто скрыть столбцы B в J.
=IF(ISNA(D2),"",D2)&IF(ISNA(E2),"",","&E2)&IF(ISNA(F2),"",","&F2)&IF(ISNA(G2),"",","&G2)&IF(ISNA(H2),"",","&H2)&IF(ISNA(I2),"",","&I2)&IF(ISNA(J2),"",","&J2)
Я предположил, что вам никогда не понадобится объединять более 7 значений (например, 7 дней недели). Но если вы это сделаете, то вам придется расширить формулу Array на несколько столбцов. Если у вас нет установленного максимума, то, возможно, стоит изучить решение VBA.