shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【Power Query】特定の列と同じ値の列の個数を行ごとにカウントする方法

Power Queryを使用して「ExcelのCOUNTIF関数」のように、特定の列と同じ値の列の個数を各行ごとにカウントする方法の備忘録。

なお、特定の列ではなく、"指定した値"でカウントしたい場合は、前回の以下です。

shikumika.org

 

アウトプットイメージ

横方向のカウントで、「ExcelのCOUNTIF関数」でいうと次のような数式。

例) C2:F2の範囲で、B2と一致した個数をカウント

=COUNTIF(C2:F2,B2)

 

PowerQueryでの具体的なアウトプットイメージは次のとおり。

行ごとに、C列からF列(区分1~区分4の列)を対象にB列と一致する個数をカウントする。

特定の列と同じ値の列の個数を行ごとにカウント イメージ画像

特定の列と同じ値の列の個数を行ごとにカウントのアウトプットイメージ

作成方法

「カスタム列」の追加で、上記の事例では次のように設定。

=List.Count(List.FindText({[区分1],[区分2],[区分3],[区分4]},[検索]))

B列に該当する「検索の列」の値(〇、▲、null)でカウントしている。

なお、「検索の列」がnullの場合は、カウントは空欄となる。この時、PowerQuery内ではErrorとなり、次のメッセージが表示される。

Expression.Error: 値 null を型 Text に変換できません。
詳細:
    Value=
    Type=[Type]

 

以上、Power Queryを使用して、特定の列と同じ値の列の個数を各行ごとにカウントする方法の備忘録でした。

参考

カスタム列など含め、列追加の基本については、以下をご覧ください。