Power Query では、列の値に基づいて行を追加または除外できます。 フィルター処理された列の列ヘッダーには、小さなフィルター アイコン ( 適用
) が含まれています。 列フィルターを削除するには、列の横にある下矢印のフィルター矢
を選択し、[ フィルターのクリア] を選択します。
オートフィルターを使用してフィルター処理する
オートフィルター機能を使用して、値を検索、表示、非表示にしたり、フィルター条件をより簡単に指定したりできます。 既定では、最初の 1,000 個の個別の値のみが表示されます。 フィルター リストが不完全である可能性があるというメッセージの場合は、[ さらに読み込む] を選択します。 データの量によっては、このメッセージが複数回表示される場合があります。
- クエリを開くには、以前にPower Query エディターから読み込まれたクエリを見つけ、データ内のセルを選択して、[クエリ>編集] を選択します。 詳細については、「 Excel でクエリを作成、読み込み、または編集する」を参照してください。
- フィルターを実行する列の横にある下矢印の
を選択します。 - [ (すべて選択)] チェック ボックスをオフにして、すべての列の選択を解除します。
- フィルター処理に使用する列値のチェック ボックスをオンにし、[OK] を選択します。
テキスト フィルターを使用してフィルター処理する
[ テキスト フィルター ] サブメニューを使用して、特定のテキスト値でフィルター処理できます。
クエリを開くには、以前にPower Query エディターから読み込まれたクエリを見つけ、データ内のセルを選択して、[クエリ>編集] を選択します。 詳細については、「 Excel でクエリを作成、読み込み、または編集する」を参照してください。
フィルター処理に使用するテキスト値を含む列の横にある下矢印の [
を選択します。[テキスト フィルター] を選択し、[等しい]、[等しい]、[等しい]、[指定の値で始まる]、[指定の値で始まらない]、[次の値で終わる]、[指定の値で終わらない]、[次の値を含む]、[指定しない]、[指定しない] から等価型の名前を選択します。
[ 行のフィルター ] ダイアログ ボックスで、次の操作を行います。
- 基本モードを使用して、2 つの演算子と値を入力または更新します。
- 拡張モードを使用して、2 つ以上の句、比較、列、演算子、値を入力または更新します。
[OK] を選択します。
数値フィルターを使用してフィルター処理する
[ 数値フィルター] サブメニューを使用して、数値でフィルター処理できます。
クエリを開くには、以前にPower Query エディターから読み込まれたクエリを見つけ、データ内のセルを選択して、[クエリ>編集] を選択します。 詳細については、「 Excel でクエリを作成、読み込み、または編集する」を参照してください。
フィルター処理の基準となる数値を含む列の下矢
を選択します。[数値フィルター] を選択し、[等しい]、[等しくない]、[より大きい]、[より大きいか等しい]、[より小さいか等しい]、[次の値より小さいか等しい]、[次の値より] の等しい型の名前を選択します。
[ 行のフィルター ] ダイアログ ボックスで、次の操作を行います。
- 基本モードを使用して、2 つの演算子と値を入力または更新します。
- 拡張モードを使用して、2 つ以上の句、比較、列、演算子、値を入力または更新します。
[OK] を選択します。
日付/時刻フィルターを使用してフィルター処理する
[ 日付/時刻フィルター] サブメニューを使用して、日付/時刻の値でフィルター処理できます。
クエリを開くには、以前にPower Query エディターから読み込まれたクエリを見つけ、データ内のセルを選択して、[クエリ>編集] を選択します。 詳細については、「 Excel でクエリを作成、読み込み、または編集する」を参照してください。
フィルター処理の基準にする日付/時刻値を含む列の下矢
を選択します。[日付/時刻フィルター] を選択し、[等しい]、[以前]、[より後]、[間]、[次の日]、[前へ]、[最も古い]、[最新]、[最も早くない]、[最新ではない]、[カスタム フィルター] から等しい型の名前を選択します。
ヒント[年]、[四半期]、[月]、[週]、[日]、[時]、[分]、[秒] を選択すると、定義済みのフィルターを使用する方が簡単な場合があります。 これらのコマンドはすぐに機能します。
[ 行のフィルター] ダイアログ ボックスで、次の操作を行います。
- 基本モードを使用して、2 つの演算子と値を入力または更新します。
- 拡張モードを使用して、2 つ以上の句、比較、列、演算子、値を入力または更新します。
[OK] を選択します。
複数の列をフィルター処理する
複数の列をフィルター処理するには、最初の列にフィルターを適用してから、追加の列ごとに列フィルターを繰り返します。
次に示す数式バーの例では、 Table.SelectRows 関数は State と Year でフィルター処理されたクエリを返します。
Null 値または空白値でフィルター処理する
セルに何も含まれていない場合に null 値または空白値が発生します。 null 値または空白値を削除するには、次の 2 つの方法があります。
オートフィルターを使用する
- クエリを開くには、以前にPower Query エディターから読み込まれたクエリを見つけ、データ内のセルを選択して、[クエリ>編集] を選択します。 詳細については、「 Excel でクエリを作成、読み込み、または編集する」を参照してください。
- フィルターを実行する列の横にある下矢印の
を選択します。 - [ (すべて選択)] チェック ボックスをオフにすると、すべての列の選択を解除できます。
- [ 空の削除] を選択し、[ OK] を選択します。
このメソッドでは、次の数式を使用して列の各値を調べます (列 "Name" の場合)。
Table.SelectRows(#"Changed Type", each ([Name] <> null and [Name] <> ""))
[空白行の削除] コマンドを使用する
- クエリを開くには、以前にPower Query エディターから読み込まれたクエリを見つけ、データ内のセルを選択して、[クエリ>編集] を選択します。 詳細については、「 Excel でクエリを作成、読み込み、または編集する」を参照してください。
- [ホーム] >[行の削除]>[空白行の削除] を選択します。
このフィルターをクリアするには、[クエリ設定] の [適用された手順] で対応する手順を削除します。
このメソッドでは、次の式を使用して行全体をレコードとして調べます。
Table.SelectRows(#"Changed Type", each not List.IsEmpty(List.RemoveMatchingItems(Record.FieldValues(_), {"", null})))
行の位置でフィルター処理
位置による行のフィルター処理は、値による行のフィルター処理と似ていますが、行は、値ではなく、クエリ データ内の位置に基づいて行を含めたり除外したりする点が異なります。
注
範囲またはパターンを指定すると、テーブルの最初のデータ行は行 1 ではなく行 0 になります。 行を指定する前に行の位置を表示するインデックス列を作成できます。 詳細については、「インデックス列の追加」を参照してください。
上位行を保持するには
- クエリを開くには、以前にPower Query エディターから読み込まれたクエリを見つけ、データ内のセルを選択して、[クエリ>編集] を選択します。 詳細については、「 Excel でクエリを作成、読み込み、または編集する」を参照してください。
- [ホーム] >[行を保持]>[上位行を保持] を選択します。
- [先頭行を保持] ダイアログ ボックスの [行数] に数値を入力します。
- [OK] を選択します。
下の行を保持するには
- クエリを開くには、以前にPower Query エディターから読み込まれたクエリを見つけ、データ内のセルを選択して、[クエリ>編集] を選択します。 詳細については、「 Excel でクエリを作成、読み込み、または編集する」を参照してください。
- [ホーム>行の保持]>[下の行の保持] を選択します。
- [ 下位の行を保持] ダイアログ ボックスの [ 行数] に数値を入力します。
- [OK] を選択します。
行の範囲を保持するには
データ テーブルは、固定レイアウトのレポートから派生する場合があります。 たとえば、最初の 5 行はレポート ヘッダーで、その後に 7 行のデータ、その後にさまざまな行のコメントが続きます。 ただし、データの行のみを保持したいのです。
- クエリを開くには、以前にPower Query エディターから読み込まれたクエリを見つけ、データ内のセルを選択して、[クエリ>編集] を選択します。 詳細については、「 Excel でクエリを作成、読み込み、または編集する」を参照してください。
- [ ホーム>行の保持>行の範囲の保持] を選択します。
- [ 行の範囲を保持 ] ダイアログ ボックスで、[ 1 行目 ] と [ 行数] に数値を入力します。 例のように入力するには、最初の行として 6、行数として 7 を入力します。
- [OK] を選択します。
上位の行を削除するには
- クエリを開くには、以前にPower Query エディターから読み込まれたクエリを見つけ、データ内のセルを選択して、[クエリ>編集] を選択します。 詳細については、「 Excel でクエリを作成、読み込み、または編集する」を参照してください。
- [ホーム] >[行の削除]>[上の行の削除] を選択します。
- [ 上位の行の削除 ] ダイアログ ボックスで、[ 行数] に数値を入力します。
- [OK] を選択します。
下位の行を削除するには
- クエリを開くには、以前にPower Query エディターから読み込まれたクエリを見つけ、データ内のセルを選択して、[クエリ>編集] を選択します。 詳細については、「 Excel でクエリを作成、読み込み、または編集する」を参照してください。
- [ホーム] >[行の削除]>[下の行の削除] を選択します。
- [ 下位の行の削除 ] ダイアログ ボックスの [ 行数] に数値を入力します。
- [OK] を選択します。
代替行を削除してフィルター処理する
代替行でフィルター処理したり、代替行パターンを定義することもできます。 たとえば、テーブルの各データ行の後にコメント行があるとします。 奇数行 (1、3、5 など) は保持し、偶数行 (2、4、6 など) は削除します。
クエリを開くには、以前にPower Query エディターから読み込まれたクエリを見つけ、データ内のセルを選択して、[クエリ>編集] を選択します。 詳細については、「 Excel でクエリを作成、読み込み、または編集する」を参照してください。
[ホーム] >[行の削除]>[代替行の削除] を選択します。
[ 代替行の削除 ] ダイアログ ボックスに、次のように入力します。
- 削除する最初の行 この行からカウントを開始します。 「2」と入力すると、1 行目は保持されますが、2 行目は削除されます。
- 削除する行数 パターンの先頭を定義します。 1 を入力すると、一度に 1 行ずつ削除されます。
- 保持する行数 パターンの終了を定義します。 1 を入力した場合は、次の行 (3 行目) でパターンを続けます。
[OK] を選択します。
結果
Power Query には、すべての行について従うべきパターンがあります。 この例では、奇数行は削除され、偶数行は保持されます。