例えば住所を地域別に分類したい時、アプローチの方法は色々ある。アイテムアクセスを使うか列のマージを使うか。一長一短あるので使いどころ次第かと思う。

最初に「住所一覧」と「地域区分」のテーブルがあるものとして、まずはそれぞれのクエリを作成する。この時ある程度、加工しておくと使い勝手がいい。住所一覧には「都道府県名」列を追加しておこう。都道府県名の抽出は、「左から4文字目が『県』だったら4文字、それ以外は3文字を左から抜き出す」でOK。
住所一覧

let
ソース = Excel.CurrentWorkbook(){[Name="住所一覧"]}[Content],
型の変更 = Table.TransformColumnTypes(ソース, {"住所", type text}),
都道府県列の追加 = Table.AddColumn(
型の変更, "都道府県名", each
Text.Start([住所], 3+Number.From(Text.Middle([住所], 3, 1)="県")),
type text
)
in
都道府県列の追加
地域区分表には順番列(最初から入っているなら飛ばしてOK)と地域ごとの連番列を追加する。グループごとに連番を付加する方法は、前回の記事参照のこと。
地域区分

let
ソース = Excel.CurrentWorkbook(){[Name="地域区分"]}[Content],
変更された型 = Table.TransformColumnTypes(ソース, {
{"区分", type text}, {"都道府県名", type text}
}),
都道府県分割 = Table.TransformColumns(
変更された型, {"都道府県名", each Text.Split(_, "、"), type list}
),
順番列の追加 = Table.AddIndexColumn(
都道府県分割, "順番", 1, 1, Int64.Type
),
列の展開1 = Table.ExpandListColumn(順番列の追加, "都道府県名"),
行のグループ化 = Table.Group(
列の展開1, {"区分"}, {
"テーブル",
each Table.AddIndexColumn(_, "連番", 1, 1),
type table [都道府県名=text, 順番=number, 連番=number]
}
),
列の展開2 = Table.ExpandTableColumn(
行のグループ化, "テーブル", {"都道府県名", "順番", "連番"}
)
in
列の展開2
こうしておくことと、後でソートしやすくなる。
ではまず、元の住所の順番通りに地域区分列を追加する場合。列のマージだと展開時に順番がずれてしまうので、アイテムアクセスのほうが便利はいい。

順番そのままで区分列を追加する方法
let
区分列の追加 = Table.AddColumn(
住所一覧, "区分", each
let 都道府県名=[都道府県名]
in 地域区分{[都道府県名=[都道府県名]]}[区分],
type text
),
列の削除 = Table.RemoveColumns(区分列の追加,{"都道府県名"})
in
列の削除
次は順番を地域区分の順にする場合。こっちはマージしてからソートするのがお勧め。

地域区分の順に区分列を追加する方法1
let
クエリのマージ = Table.NestedJoin(
住所一覧, {"都道府県名"},
地域区分, {"都道府県名"},
"マージ", JoinKind.LeftOuter
),
マージ列の展開 = Table.ExpandTableColumn(
クエリのマージ, "マージ",
{"順番", "連番", "区分"}
),
行のソート = Table.Sort(マージ列の展開, {{"順番", 0}, {"連番", 0}}),
列の選択 = Table.SelectColumns(行のソート, {"区分", "住所"})
in
列の選択
「地域区分のほうにマージしてやれば」と思うかもしれないけど、それをやると同じ都道府県の住所の中で順番がずれてしまう。

地域区分の順に区分列を追加する方法1
let
クエリのマージ = Table.NestedJoin(
地域区分, {"都道府県名"},
住所一覧, {"都道府県名"},
"マージ", JoinKind.LeftOuter
),
マージ列の展開 = Table.ExpandTableColumn(
クエリのマージ, "マージ", {"住所"}
),
行の抽出 = Table.SelectRows(マージ列の展開, each [住所] <> null),
行のソート = Table.Sort(行の抽出, {{"順番", 0}, {"連番", 0}}),
列の選択 = Table.SelectColumns(行のソート,{"区分", "住所"})
in
列の選択
別に気にしないならこっちでも。
Table.Sortの「Order.Ascending」を「0」(「Order.Descending」は「1」)にするのは横着技なので、お勧めしない。手打ちがめんどくさい時、思わずやっちゃうけど。