列の値でフィルター処理する

Power Query では、列の特定の値に従って行を含めたり除外したりできます。 列の値をフィルター処理するには、次の 3 つの方法から選択できます。

列にフィルターを適用すると、次の図に示すように、列見出しに小さなフィルター アイコンが表示されます。

列ヘッダー内のフィルター適用済みアイコン。

並べ替えとフィルターのメニュー

列ヘッダーには、逆三角形が付いたアイコンが表示されます。 このアイコンを選択すると、並べ替えとフィルターのメニューが表示されます。 このメニューを使用して、列にフィルターを適用したり、列からフィルターを削除したりできます。

並べ替えとフィルターのメニュー。

Note

この記事では、データのフィルター処理に関連した側面に焦点を絞ります。 Power Query の並べ替えオプションと列を並べ替える方法の詳細については、「列の並べ替え」を参照してください。

空の削除

[空の削除] コマンドは、列に 2 つのフィルター規則を適用します。 最初の規則では、null 値をすべて取り除きます。 2 番目の規則では、空白の値をすべて取り除きます。 たとえば、1 つの null 値と 1 つの空白セルが含まれている 5 行の 1 つのテキスト列だけを含むテーブルがあるとします。

2 行目には null 値が、4 行目には空白の値が含まれているサンプル テーブル。

Note

null 値は、値がないことを表す Power Query 言語における特定の値です。

次に、次の画像に示すように、並べ替えとフィルターのメニューから [空の削除] を選択します。

空の行の削除。

このオプションはまた、次の画像に示すように、[ホーム] タブの [行の削除] ドロップダウン オプションにある [行の削減] グループから選択することもできます。

[ホーム] タブの [空の行の削除] オプション。

[空の削除] 操作の結果、空の値が含まれていない同じテーブルが表示されます。

null 行と空白行が削除された後のサンプル テーブル。

フィルターをクリア

列にフィルターが適用されると、並べ替えとフィルターのメニューに [フィルターのクリア] コマンドが表示されます。

[フィルターのクリア] コマンド。

自動フィルター

並べ替えとフィルターのメニューにある一覧は 自動フィルター 一覧と呼ばれ、列内の一意の値を示します。 この一覧に含める値は手動で選択したり、選択解除したりできます。 フィルターでは、選択されたすべての値が考慮に入れられ、選択されていない値はすべて無視されます。

この自動フィルターのセクションには、一覧から値を検索するために役立つ検索バーもあります。

自動フィルター一覧。

Note

自動フィルター一覧を読み込むと、その列内の上位 1,000 個の個別の値のみが読み込まれます。 フィルター処理している列内の個別の値が 1,000 個を超えている場合は、そのフィルター一覧に含まれる値の一覧が不完全である可能性があることを示すメッセージが表示され、[さらに読み込む] リンクが表示されます。 [さらに読み込む] リンクを選択すると、さらに 1,000 個の個別の値が読み込まれます。

  • 正確に 1,000 個の個別の値が再び見つかった場合は、この一覧がまだ不完全である可能性があることを示すメッセージと共に一覧が表示されます。
  • 1,000 未満の個別の値が見つかった場合は、値の完全な一覧が表示されます。

セルのショートカットメニュー

列内の特定のセルを右クリックして、その値のショートカット メニューを開くことができます。 小さなフィルター アイコンをポイントし、使用するフィルター オプションを選択します。

右クリックして、セルの内容に基づいて行をフィルター処理する。

Note

Power Query では、列のデータ型に基づいて型固有のフィルターを表示します。

型固有のフィルター

並べ替えとフィルターのメニューには、列のデータ型によって異なるコマンドが表示されます。 次の画像は、日付列、テキスト列、数値列の例を示しています。

日付データ型のデータを含む列に固有のコマンドとフィルターが含まれているメニュー項目。

テキスト データ型を含む列に固有のコマンドとフィルターが含まれているメニュー項目。

数値データ型を含む列に固有のコマンドとフィルターが含まれているメニュー項目。

行のフィルター選択

型固有のフィルターのいずれかを選択する場合は、[行のフィルター] ダイアログ ボックスを使用して、列のフィルター規則を指定します。 このダイアログ ボックスを次の画像に示します。

1 つのフィルターが [次の値で始まる] に設定されている、[Account Code] テキスト列から開かれた [行のフィルター] ダイアログ ボックスの例。

[行のフィルター] ダイアログ ボックスには、[基本][詳細] の 2 つのモードがあります。

基本

基本モードでは、型固有のフィルターに基づいて最大 2 つのフィルター規則を実装できます。 前の画像では、選択された列の名前が [が次と一致する行の保持] というラベルの前に表示され、これらのフィルター規則がどの列に対して実装されるかがわかるようになっていることに注意してください。

たとえば、次のテーブルで、[Account Code]PA または PTY のどちらかで始まるすべての値でフィルター処理したいとします。

2 または 3 つの異なる文字で始まるアカウント コードが含まれているサンプル テーブル。

それを行うには、[Account Code] 列の [行のフィルター] ダイアログ ボックスに移動し、必要な一連のフィルター規則を指定します。

この例では、まず [基本] ボタンを選択します。 次に、["Account Code" が次と一致する行の保持] で、[次の値で始まる] を選択して「PA」と入力します。 次に、[または] ボタンを選択します。 [または] ボタンの下で、[次の値で始まる] を選択して「PTY」と入力します。 次に、[OK] を選択します。

フィルター規則の例が適用された基本的な行のフィルター操作。

その操作の結果、求めていた一連の行が表示されます。

PA または PTY のどちらかで始まるアカウント コードのみが含まれている、基本的な行のフィルター操作のサンプル出力テーブル。

上級

詳細モードでは、テーブル内のすべての列から型固有のフィルターをいくつでも必要な数だけ実装できます。

たとえば、前のフィルターを基本モードで適用するのではなく、[Account Code]4 で終わるすべての値が表示されるようなフィルターを実装したいとします。 また、[Sales] 列に $100 を超える値が表示されるようにすることもできます。

この例では、まず [詳細] ボタンを選択します。 最初の行では、[列名][Account Code][演算子][次の値で終わる]、[値] で [4] を選択します。 2 行目では、[および] を選択してから、[列名][Sales][演算子][が次の値より大きい][値][100] を選択します。 [OK] を選択します。

詳細なフィルター設定の例を含む [行のフィルター] ダイアログ ボックス。

その操作の結果、両方の条件を満たす 1 行だけが表示されます。

4 で終わるだけでなく、売上高が 100 を超えた 1 つのアカウント コードを示す詳細なフィルターの出力。

Note

[句の追加] を選択することにより、句をいくつでも必要な数だけ追加できます。 すべての句が同じレベルで動作するため、他のフィルターに依存するフィルターを実装する必要がある場合は、複数のフィルター手順の作成の検討が必要になる可能性があります。