Страницы: 1
RSS
Общий список в ячейках, Объединение сответств. строк в общий список в ячейке
 
Здравствуйте Уважаемые форумчане!
 Попытался что-либо подобное на Форуме отыскать, не нашел. Поэтому обращаюсь за вашей помощью.
Задача состоит в следующем: в первом столбце таблицы имеются номера основных счетов, при этом в каждом из них, находится разное количество дополнительных счетов (по строкам). Необходимо в другой таблице в результате получить в первом столбце номера основных счетов, во втором столбце (в соответствующей ячейке) список соответствующих дополнительных счетов (через запятую с пробелом, если их несколько). И в третьем столбце их общее количество. Пример прилагаю.
Благодарю за помощь и понимание.
 
ing60, здравствуйте

Цитата
ing60: в первом столбце номера основных счетов
инструмент "Удалить дубликаты"

Цитата
ing60: во втором столбце список соответствующих дополнительных счетов через запятую с пробелом
СцепитьЕсли()

Цитата
ing60: в третьем столбце их общее количество
СЧЁТЕСЛИ()
Изменено: Jack Famous - 23.11.2022 09:56:26
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Так же можно через PowerQuery сделать.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Всем СПАСИБО за помощь!!!
 
В Excel 365 решается одной формулой, записанной в одну ячейку (например в E2):
=LET(a;A2:A1184;b;B2:B1184;d;УНИК(a);ГСТОЛБИК(d;MAP(d;LAMBDA(x;ОБЪЕДИНИТЬ(", ";;ФИЛЬТР(b;a=x))));MAP(d;LAMBDA(y;ЧСТРОК(ФИЛЬТР(b;a=y))))))

P.S. Если у вас нету =ГСТОЛБИК(), в файле есть лист "три формулы" где задача решена тремя формулами, записанными в три ячейки.
Изменено: Бахтиёр - 23.11.2022 13:55:17
 
Вот в Power Query:
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"№ счета", type text}, {"Доп. № счета", type text}}),
    #"Сгруппированные строки" = Table.Group(#"Измененный тип", {"№ счета"}, {{"Группировка", each _, type table}}),
    #"Добавлен пользовательский объект" = Table.AddColumn(#"Сгруппированные строки", "Пользовательская", each Table.Column([Группировка],"Доп. № счета")),
    #"Извлеченные значения" = Table.TransformColumns(#"Добавлен пользовательский объект", {"Пользовательская", each Text.Combine(List.Transform(_, Text.From), " "), type text}),
    #"Другие удаленные столбцы" = Table.SelectColumns(#"Извлеченные значения",{"№ счета", "Пользовательская"}),
    #"Сгруппированные строки1" = Table.Group(#"Измененный тип", {"№ счета"}, {{"Количество", each Table.RowCount(Table.Distinct(_)), type number}}),
    #"Объединенные запросы" = Table.NestedJoin(#"Сгруппированные строки1",{"№ счета"},#"Другие удаленные столбцы",{"№ счета"},"Другие удаленные столбцы",JoinKind.LeftOuter),
    #"Развернутый элемент Другие удаленные столбцы" = Table.ExpandTableColumn(#"Объединенные запросы", "Другие удаленные столбцы", {"Пользовательская"}, {"Другие удаленные столбцы.Пользовательская"})
in
    #"Развернутый элемент Другие удаленные столбцы"
 
вариант
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    tableGroup =
        Table.Group(
            Source,
            {"№ счета"},
            {
                {"Доп счета", (x) => Text.Combine(x[#"Доп. № счета"], ", "), type text},
                {"Количество", (x) => Table.RowCount(x), Int64.Type}
            }
        )
in
    tableGroup
Страницы: 1
Наверх