Страницы: 1
RSS
Объединение одинаковых ячеек и конкатенация данных их соседних ячеек
 
Добрый день.
Возможно ли посредством Экселя осуществить такую задачу: есть два столбца. Один с фамилией, второй с фруктами. Фамилии могут повторяться.
Необходимо сформировать такую таблицу, где фамилии не будут повторяться а данные из второго столбца будут объединены в одну ячейку. Подробнее на картинке.
 
Добрый день. В Excel это сделать возможно и я даже скажу - минимум 2 способами. А то и тремя. Но на картинке их  не показать.
Кому решение нужно - тот пример и рисует.
 
Помогите пожалуйста, прикрепил файл с мини базой)
 
Можно примерно так - в файле фигура с побуждающим текстом.
Если интересно, то вот он код:
Скрытый текст
Кому решение нужно - тот пример и рисует.
 
Код
Sub iSumFIO()
Dim dic As Object
Dim i&
     Set dic = CreateObject("scripting.dictionary")
  For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row
    dic.Item(Cells(i, "A").Text) = dic.Item(Cells(i, "A").Text) + Cells(i, "B") & ", "
  Next i
    Range("C1").Resize(dic.Count, 2) = Application.Transpose(Array(dic.keys, dic.Items))
  For i = 1 To Cells(Rows.Count, "D").End(xlUp).Row
    Cells(i, "D") = Left(Cells(i, "D"), Len(Cells(i, "D")) - 2)
  Next
End Sub
 
PQ:
Код
let
    from = Excel.CurrentWorkbook(){[Name="Таблица2"]}[Content],
    to = Table.Group(from, "Столбец1", {"фрукты", each Text.Combine([Столбец2], ", "), type text})
in
    to
Изменено: buchlotnik - 15.11.2019 22:24:18
Соблюдение правил форума не освобождает от модераторского произвола
 
Ну, и в догонку формульный вариант:
для Excel 2016 и выше или подписка 365.

Массивная в ячейку F1 и вниз
Код
=ОБЪЕДИНИТЬ(", ";;ЕСЛИ($A$1:$A$5=D1;$B$1:$B$5;""))
 
Всем большущее спасибо )
 
небольшой отзыв о методах:
Пытливый,  Ваш метод подвешивает эксель на больших данных, до 800 строк
Kuzmich, , Ваш метод выдает ошибку Run-time error '13'. Type mismatch и где-то на четверти от количества строк заполняет все остальные #Н/Д . Прогонялось на больших данных, около 200к строк.
buchlotnik,  Ваш метод на PQ работает отлично с любым количеством строк, даже 200к. Очень быстро все считает.
Aleksey1107,  К сожалению мой 2016 не понимает эту формулу, а 365 у меня нет(
 
А возможно ли сделать так, чтобы информация подтягивалась из таблиц разных листов одной книги и итоговая таблица выводилась в Мастер листе, так сказать?
 
Ещё есть UDF в копилке - её можно применить на заготовленный удалением дубликатов список фамилилй.
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=2&TID=10&TITLE_SEO=10
Изменено: Hugo - 19.11.2019 09:45:40
Страницы: 1
Наверх