Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
Re:[Power Query データを条件テーブルの列名と値でフィルタする]のtarimaさんへ
投稿日時: 24/02/01 16:24:55
投稿者: んなっと

https://www.moug.net/faq/viewtopic.php?t=82620
データが多いときはskさんの方法が圧倒的に早いです。私のはだめです。
実データは、列数が30以上
ということなので、その部分をTable.ColumnNamesで変えさせていただくと
 
let
    DataTable = Excel.CurrentWorkbook(){[Name="データテーブル"]}[Content],
    ConditionTable = Excel.CurrentWorkbook(){[Name="条件テーブル"]}[Content],
    PickedConditions = Table.SelectRows(ConditionTable, each ([列名] <> null and [条件] <> null)),
    GetFilteredTables = Table.AddColumn(PickedConditions, "抽出結果", each
        let x = _
        in Table.SelectRows(DataTable, each
            Table.Column(_, Record.Field(x, "列名")) = Record.Field(x, "条件"))),
    Del = Table.SelectColumns(GetFilteredTables,{"抽出結果"}),
    Nam = Table.ColumnNames(DataTable),
    Expanded = Table.ExpandTableColumn(Del, "抽出結果", Nam, Nam),
    RemovedDuplicates = Table.Distinct(Expanded),
    SortedRows = Table.Sort(RemovedDuplicates,{{"id", Order.Ascending}})
in
    SortedRows
 
やっていることは、skさんのと全く同じです。

投稿日時: 24/02/01 16:25:26
投稿者: んなっと

豚汁。