PowerQuery【11】重複行の削除(上の行/下の行)
PowerQueryへのリンク
PowerQuery全体:PowerQuery【01】PowerQuery(パワークエリー)で出来ること
PowerQueryの手順:PowerQuery【02】PowerQuery(パワークエリー)の動かし方
重複行の削除方法について案内します。
↓こんな時の除外方法です。CSV取込後などで、重複行を削除するときの対応です。
【参考】
↓PowerQueryでないとき
【Excel】重複がある際に適切なデータを選ぶ(COUNTIF関数を使う)
↓2つのテーブルを結合したときの、重複の除外方法
PowerQuery【09】キー重複の場合に適切な行のデータを取り出す
下の重複行の削除
PowerQueryエディタ上で、以下で重複は削除できます。
ホームタブ/対象列を選択/行の削除/重複の削除
ただし、これは、重複データのうち、下の行が除外されます。
上の行を除外するときは、もう一工夫必要です。
上の重複行の削除
「上の行」を除外する際の完成形
いったん「インデックス列」を追加して、Bufferで囲んでから
インデックスを降順でソート+Noを昇順でソートして、
それから重複を削除します。
【数式の表示】
= Excel.CurrentWorkbook(){[Name=”テーブル10″]}[Content]
= Table.TransformColumnTypes(ソース,{{“No”, type text}, {“name”, type text}})
= Table.AddIndexColumn(変更された型, “インデックス”, 0, 1, Int64.Type)
= Table.Buffer(Table.Sort(追加されたインデックス,{{“No”, Order.Ascending}, {“インデックス”, Order.Descending}}))
= Table.Distinct(並べ替えられた行, {“No”})
さて実際の手順です。
①テーブルを読み込んだPowerQueryエディタ画面
②型を変更【数値→文字】
③列の追加タブ/インデックス列
→インデックス列が追加される
④まず、Noを昇順/インデックス列を降順でソートする。
④式を手修正する:Tabel.Bufferで囲む
数式バー上で、Table.Bufferで式を囲む
(数式バーの表示が無ければ、「表示/数式バーに「v」」
⑤ホームタブ/行の削除/重複の削除
⑥重複データの上の行が削除された。
⑦閉じて読み込む、クエリの名前変更、シートの名前変更を実施する。