Страницы: 1
RSS
Как сцепить несколько значений в одну ячейку по критерию?
 
Добрый вечер, подскажите пожалуйста, как обьединить ячейки с одинаковыми значениями?
Пример того что мне нужно:
Исходная таблица
Иванов.                    Василий          Гендьевич.                      44
ИвановВасилийГендьевич43
Сидоров МихаилПетрович11
Сидоров МихаилПетрович21
Сидоров МихаилПетрович22
Сидоров МихаилПетрович90
МедведьевИгорьАлександрович3
МедведьевИгорьАлександрович42
МедведьевИгорьАлександрович27
МедведьевИгорьАлександрович84
МедведьевИгорьАлександрович15
Желаемый результат
Иванов                     Василий          Гендьевич                       44, 43
Сидоров МихаилПетрович11,21,22,90
МедведьевИгорьАлександрович3,42,27,84,15
вместо дублирующих строк с одинаковыми именами, оставить одну и в поле с номерами просто их через запятую или через пробел записать
 
Я в радиусе своей возможности могу сделать через формулу, (Сцепить добавляя Если, несколько раз.) По другому я не умею. Пишу подумал вдруг поможет.  
Занимайся тем чем увлекаешься!
 
bamaliks bamaliks, Как сцепить несколько значений в одну ячейку по критерию? СЦЕПИТЬЕСЛИ
Цитата
vikttur: Предложите название темы
СцепитьЕсли. Как сцепить данные по условию?
Изменено: Jack Famous - 27.11.2020 19:23:36
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
Шохбозбек Абдуфаттоев написал:
могу сделать через формулу
а если их 100??

еще ТСу кажется не нужно будет сцеплять повторяющиеся значения )
Изменено: Mershik - 27.11.2020 19:27:56
Не бойтесь совершенства. Вам его не достичь.
 
Mershik, В оригинальной таблице их 91000 уникальных примерно 5000  
 
(((
Занимайся тем чем увлекаешься!
 
pq + формулы
Изменено: Антон - 27.11.2020 19:57:09
 
Код
Sub UniqFIO()
Dim i As Long
Dim iLastRow As Long
Dim dic As Object
 iLastRow = Cells(Rows.Count, "A").End(xlUp).Row
    Set dic = CreateObject("scripting.dictionary"): dic.comparemode = 1
  For i = 1 To iLastRow 'собираем уникальные A_B_C в словарь с суммированием
    dic.Item(CStr(Cells(i, "A").Value & "_" & Cells(i, "B").Value & "_" & Cells(i, "C").Value)) = _
    dic.Item(CStr(Cells(i, "A").Value & "_" & Cells(i, "B").Value & "_" & Cells(i, "C").Value)) + Cells(i, "D") 'сумма в dic.items
  Next
  [F1].Resize(dic.Count, 2) = Application.Transpose(Array(dic.keys, dic.items))
End Sub
 
https://www.youtube.com/watch?v=QLhHpgQvRDc&feature=emb_logo
Изменено: Mershik - 27.11.2020 19:42:49
Не бойтесь совершенства. Вам его не достичь.
 
Антон, Kuzmich, Спасибо
 
если через формулы:
список уникальных
Код
=УНИК(A1:C11)

получить значения
Код
=ОБЪЕДИНИТЬ(",";1;ФИЛЬТР($D$1:$D$11;($A$1:$A$11=G3)*($B$1:$B$11=H3)*($C$1:$C$11=I3)))

файл обновил выше
 
Антон,  а можно подробнее про функцию "уник". В єкселе 2019 ее нет? Потому что у себя не нашла такую)
 
функция УНИК
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel для iPad Excel для iPhone Excel для планшетов с Android Excel для телефонов с Android
 
чего-то никто про DAX не вспомнил, он-то точно в 2019 есть:
Код
=CONCATENATEX('Диапазон';'Диапазон'[Н];", ";'Диапазон'[Н];ASC)
или
Код
=if(HASONEVALUE('Диапазон'[Ф]);CONCATENATEX('Диапазон';'Диапазон'[Н];", ";'Диапазон'[Н];ASC);BLANK())
Изменено: buchlotnik - 29.11.2020 18:39:05
Соблюдение правил форума не освобождает от модераторского произвола
 
И ещё одна UDF VLOOKUPCOUPLE() в копилке форума:
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=2&TID=10&TITLE_SEO=10
 
Цитата
написал:
pq + формулы
Подскажите, а каким образом можно реализовать формулой отбор цифровых значений, чтобы справа от имени в строчку через запятую выстраивались только уникальные цифровые значения?
 
ran-nn,
Код
= Table.Group(#"Changed Type", {"Column1", "Column2", "Column3"}, {"All", each Text.Combine(List.Distinct([Column4]), ",")})
 
Антон, Подскажите, а как в этой формуле сделать так, чтобы она объединяла в одной ячейке только уникальные значения?
Цитата
написал:
=ОБЪЕДИНИТЬ(",";1;ФИЛЬТР($D$1:$D$11;($A$1:$A$11=G3)*($B$1:$B$11=H3)*($C$1:$C$11=I3)))
Изменено: ran-nn - 22.08.2023 16:07:29
 
te1n,
Цитата
написал:
= Table.Group(#"Changed Type", {"Column1", "Column2", "Column3"}, {"All", each Text.Combine(List.Distinct([Column4]), ",")})
А формулой можно как-то это сделать?
Страницы: 1
Наверх