適材適所

システム屋のくらげが気ままに書いているブログです。PowerShellやVBAなどプログラミング系の話をメインに書いています。

MENU

【Power Query M式言語】リストについての解説

Power Query M式言語の構造データ型の1つであるリストについて解説する記事です。

環境

Windows10

Excel 2019

リストとは?

M式の中の構造化データ型の1つで、0から始まる順序付けされた値の集合のことで、{}で囲まれたものです。中の要素にアクセスするときにも{}を使います。

言葉で書くとイマイチピンとこないかも知れません。百聞は一見に如かずです。例を見てみましょう。

リストの例

リストの例をいくつか紹介します。

数値を3つ持ったリスト

 
{1,2,3}

f:id:shinmai_papa:20210918231142p:plain

数値と文字列のリスト

 
{1,"aaaaa"}

f:id:shinmai_papa:20210918231146p:plain

数字のリストから最初の要素を取得する

 
{12,3,44}{0}

f:id:shinmai_papa:20210918231155p:plain

リストをネストする(リストの中にリストを入れる)

 
{{1,2},{3,4}}

f:id:shinmai_papa:20210918231151p:plain

ネストされたリストの中の最初のリスト{1,2}にアクセスする

 
{{1,2},{3,4}}{0}

f:id:shinmai_papa:20210918231200p:plain

ネストされたリスト{1,2}の最初の要素(1)にアクセスする

 
{{1,2},{3,4}}{0}{0}

f:id:shinmai_papa:20210918231206p:plain

1~10のリストを生成する

 
{1..10}

f:id:shinmai_papa:20210918231211p:plain

ひらがなのリストを生成する

 
{"あ".."ん"}

f:id:shinmai_papa:20210918231215p:plain

List関数を使うと便利

リストを扱う際にList関数を使うことでさらに便利になります。

リストから最大値を取得する

 
//4が返る
List.Max({1,2,3,4})

リストを逆にする

 
//9,4,3になる
List.Reverse({3,4,9})

リストを並び替える

 
//2,3,5,9(昇順)になる。
List.Sort({3,5,2,9})
 
//9,5,3,2(降順)になる。
List.Sort({3,5,2,9},Order.Descending)

リストの要素数を取得する

 
4
List.Count({3,5,2,9})

他にもたくさんのList関数が用意されています。詳しくはList 関数 - PowerQuery M | Microsoft Docs に書かれています。

終わりに

Power Query M式言語のリストについての説明しました。

リストのキモは{}で囲まれていることと、要素へのアクセスも{}でできる点です。これを理解していないと、{}だらけのM式言語で混乱することも・・・。とくに長い式の場合{}だらけになることもあるので、あせらず、ひとつひとつ紐解いていきましょう。

というわけで、ここまでお読みいただき、ありがとうございました。