Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Объединение двух таблиц по общему параметру - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Объединение двух таблиц по общему параметру
gani Дата: Четверг, 20.07.2023, 07:43 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

2010
На входе имеется таблица ФИО-Должность, Должность-Перечень одежды, на выходе нужно обьединить ФИО-Должность-списком как на примере необходимая одежда для должности

Как должен выглядить итоговый результат
Иванов А А Слесарь по ремонту агрегатов Костюм летний для работников ГА
Жилет сигнальный 2 класса защиты
Головной убор летний
Футболка х/б
Полуботинки кожаные с жестким подноском на МБС подошве
Комплект № 1. Полуботинки кожаные – 1 пара на 4 года;
Комплект № 2. Полуботинки кожаные с перфорацией – 1 пара на 4 года

Иванов А А Главный механик Костюм летний для работников ГА
Жилет сигнальный 2 класса защиты
Головной убор летний
К сообщению приложен файл: list_microsoft_excel.xlsx (10.6 Kb)
 
Ответить
СообщениеНа входе имеется таблица ФИО-Должность, Должность-Перечень одежды, на выходе нужно обьединить ФИО-Должность-списком как на примере необходимая одежда для должности

Как должен выглядить итоговый результат
Иванов А А Слесарь по ремонту агрегатов Костюм летний для работников ГА
Жилет сигнальный 2 класса защиты
Головной убор летний
Футболка х/б
Полуботинки кожаные с жестким подноском на МБС подошве
Комплект № 1. Полуботинки кожаные – 1 пара на 4 года;
Комплект № 2. Полуботинки кожаные с перфорацией – 1 пара на 4 года

Иванов А А Главный механик Костюм летний для работников ГА
Жилет сигнальный 2 класса защиты
Головной убор летний

Автор - gani
Дата добавления - 20.07.2023 в 07:43
jakim Дата: Четверг, 20.07.2023, 08:42 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1205
Репутация: 313 ±
Замечаний: 0% ±

Excel 2010
Power Query

[vba]
Код
let
    Source = Table.NestedJoin(Table2,{"Должность"},Table1,{"Должность"},"NewColumn",JoinKind.LeftOuter),
    #"Expanded NewColumn" = Table.ExpandTableColumn(Source, "NewColumn", {"Номенклатура"}, {"Номенклатура"}),
    #"Filtered Rows" = Table.SelectRows(#"Expanded NewColumn", each ([Номенклатура] <> null)),
    #"Grouped Rows" = Table.Group(#"Filtered Rows", {"ФИО", "Должность"}, {{"Count", each _, type table}}),
    #"Added Custom" = Table.AddColumn(#"Grouped Rows", "Custom", each [Count][Номенклатура]),
    #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Count"}),
    #"Extracted Values" = Table.TransformColumns(#"Removed Columns", {"Custom", each Text.Combine(List.Transform(_, Text.From), ". "), type text})
in
    #"Extracted Values"
[/vba]
К сообщению приложен файл: list_microsoft_excel_specodezh.xlsx (20.9 Kb)
 
Ответить
Сообщение
Power Query

[vba]
Код
let
    Source = Table.NestedJoin(Table2,{"Должность"},Table1,{"Должность"},"NewColumn",JoinKind.LeftOuter),
    #"Expanded NewColumn" = Table.ExpandTableColumn(Source, "NewColumn", {"Номенклатура"}, {"Номенклатура"}),
    #"Filtered Rows" = Table.SelectRows(#"Expanded NewColumn", each ([Номенклатура] <> null)),
    #"Grouped Rows" = Table.Group(#"Filtered Rows", {"ФИО", "Должность"}, {{"Count", each _, type table}}),
    #"Added Custom" = Table.AddColumn(#"Grouped Rows", "Custom", each [Count][Номенклатура]),
    #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Count"}),
    #"Extracted Values" = Table.TransformColumns(#"Removed Columns", {"Custom", each Text.Combine(List.Transform(_, Text.From), ". "), type text})
in
    #"Extracted Values"
[/vba]

Автор - jakim
Дата добавления - 20.07.2023 в 08:42
gani Дата: Четверг, 20.07.2023, 08:59 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

2010
jakim, а если есть необходимость разделения данных крайнего столбца справа по строкам в отдельные ячейки, в Power Query возможно это реализовать?
 
Ответить
Сообщениеjakim, а если есть необходимость разделения данных крайнего столбца справа по строкам в отдельные ячейки, в Power Query возможно это реализовать?

Автор - gani
Дата добавления - 20.07.2023 в 08:59
jakim Дата: Четверг, 20.07.2023, 09:16 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1205
Репутация: 313 ±
Замечаний: 0% ±

Excel 2010
Так?

[vba]
Код
let
    Source = Table.NestedJoin(Table2,{"Должность"},Table1,{"Должность"},"NewColumn",JoinKind.LeftOuter),
    #"Expanded NewColumn" = Table.ExpandTableColumn(Source, "NewColumn", {"Номенклатура"}, {"Номенклатура"}),
    #"Filtered Rows" = Table.SelectRows(#"Expanded NewColumn", each ([Номенклатура] <> null)),
    #"Grouped Rows" = Table.Group(#"Filtered Rows", {"ФИО", "Должность"}, {{"Count", each _, type table}}),
    #"Added Custom" = Table.AddColumn(#"Grouped Rows", "Custom", each [Count][Номенклатура]),
    #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Count"}),
    #"Extracted Values" = Table.TransformColumns(#"Removed Columns", {"Custom", each Text.Combine(List.Transform(_, Text.From), ";"), type text}),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Extracted Values","Custom",Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv),{"Custom.1", "Custom.2", "Custom.3", "Custom.4", "Custom.5", "Custom.6", "Custom.7", "Custom.8", "Custom.9", "Custom.10", "Custom.11", "Custom.12", "Custom.13"}),
    #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Split Column by Delimiter", {"ФИО", "Должность"}, "Attribute", "Value"),
    #"Filtered Rows1" = Table.SelectRows(#"Unpivoted Other Columns", each ([Value] <> "")),
    #"Removed Columns1" = Table.RemoveColumns(#"Filtered Rows1",{"Attribute"}),
    #"Renamed Columns" = Table.RenameColumns(#"Removed Columns1",{{"Value", "Номенклатура"}})
in
    #"Renamed Columns"
[/vba]
К сообщению приложен файл: list_microsoft_excel_po_stolbc.xlsx (21.8 Kb)
 
Ответить
Сообщение
Так?

[vba]
Код
let
    Source = Table.NestedJoin(Table2,{"Должность"},Table1,{"Должность"},"NewColumn",JoinKind.LeftOuter),
    #"Expanded NewColumn" = Table.ExpandTableColumn(Source, "NewColumn", {"Номенклатура"}, {"Номенклатура"}),
    #"Filtered Rows" = Table.SelectRows(#"Expanded NewColumn", each ([Номенклатура] <> null)),
    #"Grouped Rows" = Table.Group(#"Filtered Rows", {"ФИО", "Должность"}, {{"Count", each _, type table}}),
    #"Added Custom" = Table.AddColumn(#"Grouped Rows", "Custom", each [Count][Номенклатура]),
    #"Removed Columns" = Table.RemoveColumns(#"Added Custom",{"Count"}),
    #"Extracted Values" = Table.TransformColumns(#"Removed Columns", {"Custom", each Text.Combine(List.Transform(_, Text.From), ";"), type text}),
    #"Split Column by Delimiter" = Table.SplitColumn(#"Extracted Values","Custom",Splitter.SplitTextByDelimiter(";", QuoteStyle.Csv),{"Custom.1", "Custom.2", "Custom.3", "Custom.4", "Custom.5", "Custom.6", "Custom.7", "Custom.8", "Custom.9", "Custom.10", "Custom.11", "Custom.12", "Custom.13"}),
    #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Split Column by Delimiter", {"ФИО", "Должность"}, "Attribute", "Value"),
    #"Filtered Rows1" = Table.SelectRows(#"Unpivoted Other Columns", each ([Value] <> "")),
    #"Removed Columns1" = Table.RemoveColumns(#"Filtered Rows1",{"Attribute"}),
    #"Renamed Columns" = Table.RenameColumns(#"Removed Columns1",{{"Value", "Номенклатура"}})
in
    #"Renamed Columns"
[/vba]

Автор - jakim
Дата добавления - 20.07.2023 в 09:16
gani Дата: Четверг, 20.07.2023, 09:26 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

2010
jakim, да, здорово, спасибо!
 
Ответить
Сообщениеjakim, да, здорово, спасибо!

Автор - gani
Дата добавления - 20.07.2023 в 09:26
прохожий2019 Дата: Четверг, 20.07.2023, 12:56 | Сообщение № 6
Группа: Проверенные
Ранг: Старожил
Сообщений: 1264
Репутация: 322 ±
Замечаний: 0% ±

365 Beta Channel
Power Query
[vba]
Код
let
    f = (x) =>Excel.CurrentWorkbook(){[Name=x]}[Content]
in
    Table.Join(f("Table2"),"Должность",f("Table1"),"Должность")
[/vba]
К сообщению приложен файл: 6364328.xlsx (19.6 Kb)
 
Ответить
Сообщение
Power Query
[vba]
Код
let
    f = (x) =>Excel.CurrentWorkbook(){[Name=x]}[Content]
in
    Table.Join(f("Table2"),"Должность",f("Table1"),"Должность")
[/vba]

Автор - прохожий2019
Дата добавления - 20.07.2023 в 12:56
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!