【Power Query】行方向に特定の値をカウントする方法

例として下のようなテーブルがあるとします。好きなジャンルのアンケート(複数回答可)の結果を示しており、該当するジャンルには1、しないものには0が記入されています。

ここで回答者毎のジャンルの選択個数を列として追加したいとします。

EXCELではSUM関数を使用することでできますが、Power Queryで行うには次のようにします。

Power Queryエディタで列の追加タブからカスタム列を選択します。

カスタム列の式に次のように入力します。

=List.Count(List.Select({[アクション],[SF],[ミステリー],[コメディ],[恋愛],[アニメ],[ファンタジー]},(n)=>n=1))
List.Select(list as list, selection as function) as list
List.Count(list as list) as number

List.Selectは第一引数にリスト、第二引数に選択条件をとります。ここでは選択条件(n)=>n=1によって1に一致する要素がリストとして返ります。List.Countによってそのリストの要素数を求めます。

[列名]には使用できる列から選択して挿入できます。List、Select、Countの先頭は大文字なので注意しましょう。

OKを選択しデータをEXCELのシートに読み込みます。

その結果は下記の通り、テーブルに選択個数列が追加されています。

なお、各列の値を合計したい場合は式を次のようにします。

=List.Sum({[列1],[列2],…[列n]})

参考

https://docs.microsoft.com/ja-jp/powerquery-m/list-functions

この投稿は役に立ちましたか?
役に立った  役に立たなかった
0人中0人がこの投稿は役に立ったと言っています。
power query