Попытка объединить значения в столбце C, когда A1 и B1 совпадают с A2 и B2 - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть три столбца данных.Столбец А - это список компьютеров.Столбец B - это список идентификаторов пользователей.Столбец C - это права пользователя.То, что я хочу сделать, это объединить значения в столбце C, когда есть совпадение для A и B. Прикрепленный простой скриншот того, что я пытаюсь сделать.Посоветуйте, пожалуйста, самый простой способ добиться этого.Я новичок в формулах Excel, поэтому любая помощь приветствуется!

Example

1 Ответ

0 голосов
/ 10 апреля 2019

Ваши желаемые результаты не имеют смысла, учитывая ваши исходные данные.

В частности, у вас есть только два bbb123 в ваших данных, а aaa123 имеет два разных соответствия.

Если это связано с опечаткой, то, что вы хотите, можно легко сделать с помощью Power Query aka Get&Transform, который является частью версий Excel с 2010 года.

За исключением пользовательского столбца, большая часть приведенного ниже кода может быть сгенерирована автоматически из пользовательского интерфейса.

Алгоритм:

  • Группировка данных по машине и учетной записи -Это формирует таблицу сгруппированных «разрешений»
  • Преобразование table в list (это то, что делает пользовательский столбец)
  • Расширить список, извлекая значения и используя запятую в качестве разделителя
  • Удалить столбец, содержащий table s

Формула для пользовательского столбца : (Добавить столбец / пользовательский столбец из пользовательского интерфейса)

=Table.Column([Grouped],"permissions")` 

М-код:

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"machine", type text}, {"account", type text}, {"permissions", type text}}),
    #"Grouped Rows" = Table.Group(#"Changed Type", {"machine", "account"}, {{"Grouped", each _, type table}}),
    #"Added Custom" = Table.AddColumn(#"Grouped Rows", "Custom", each Table.Column([Grouped],"permissions")),
    #"Extracted Values" = Table.TransformColumns(#"Added Custom", {"Custom", each Text.Combine(List.Transform(_, Text.From), ","), type text}),
    #"Removed Columns" = Table.RemoveColumns(#"Extracted Values",{"Grouped"})
in
    #"Removed Columns"

Исходные данные

enter image description here

Сгруппированные данные

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...