適材適所

WindowsやPowerShellやネットワーク、IBMなどのシステム系の話やポイ活など気になったことも載せているブログです。

【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式言語で混乱することも・・・。とくに長い式の場合{}だらけになることもあるので、あせらず、ひとつひとつ紐解いていきましょう。

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