値が特定のレベルを超えるカテゴリのみを表示する

値が特定のレベルを超えるカテゴリのみを表示する

金額が最も高いものから降順にフィルタリングされる出力があります。

100K 未満のデータを除外して、100K 以上の値を持つ行を表示する方法があるかどうかを知りたいだけです。

私のサンプルデータ:

Name     |  Amount
Person 1 | 500,000
Person 2 | 400,000
Person 3 | 350,000
Person 4 | 200,000
Person 5 | 150,000
Person 6 | 90,000
Person 7 | 80,000
...

望ましい出力:

Name     |  Amount
Person 1 | 500,000
Person 2 | 400,000
Person 3 | 350,000
Person 4 | 200,000
Person 5 | 150,000

これをコード化したり条件を追加したりする方法がわかりません。

答え1

Power Query を使用して結果を取得してみませんか?

[データ] - [テーブル/データから] - [フィルター] - [閉じて読み込み] に移動します。

ここに画像の説明を入力してください

答え2

あなたが説明した内容は、オートフィルターをオンにするか、データを Excel テーブル オブジェクトに変換して、それぞれのフィルター設定を選択し、データを並べ替えることで実現できます。リストにさらにデータを追加する場合は、フィルターと並べ替えを繰り返す必要があります。

フィルターと並べ替えを自動的に適用したい場合は、Power Query を使用してデータを読み込み、Power Query でフィルターと並べ替えを実行し、結果を別のシートに読み込むことができます。元のリストにさらにデータが追加された場合は、Power Query を更新するだけで済みます。VBA は必要なく、ブックでマクロを有効にする必要もありません。

Power Query は、Excel 2010 および 2013 の無料アドインとして利用でき、それ以降のバージョンではデータ リボンに「取得と変換」として組み込まれています。

答え3

ここに画像の説明を入力してください

Sub FilterAndCopy()

    Dim xStr As String
    Dim xAddress As String
    Dim xRg As Range
    Dim xCRg As Range
    Dim xSRg As Range
    On Error Resume Next

    xAddress = ActiveWindow.RangeSelection.Address

    Set xRg = Application.InputBox("Select Range To Filter:", "Filter Range", xAddress, , , , , 8)
    If xRg Is Nothing Then Exit Sub

    Set xCRg = Application.InputBox("Select Criteria range:", "Filter Range", "", , , , , 8)
    If xCRg Is Nothing Then Exit Sub

    Set xSRg = Application.InputBox("Select Output Range:", "Filter Range", "", , , , , 8)

    If xSRg Is Nothing Then Exit Sub
    xRg.AdvancedFilter xlFilterCopy, xCRg, xSRg, False
    xSRg.Worksheet.Activate
    xSRg.Worksheet.Columns.AutoFit

End Sub

使い方:

  • コピーペーストこのコードを標準モジュールとして保存します。
  • セルに条件(データをフィルタリングするため)を書き込みます(スクリーンショットに示すように)。

注記:

選択中基準両方を選択すると、列ヘッダー(スクリーンショットではデータ) とその下のセル (>100000)。

  • 走るマクロ。
  • 応答する入力ボックスそして最後にわかりました

答え4

すでに述べた方法に加えて、もう 1 つの簡単な方法は、ヘルパー列でクイック数式を使用することです。これには、コードや追加のプラグインのインストールは必要ありません。セル C2 に次の数式を入力して 100k を超える値を分離し、セルの右下隅にあるハンドルをダブルクリックして、列の残りの部分を自動入力します。

=IF(B2>100000,"Yes","No")

次に、Excel のフィルターを使用して、列 C の「いいえ」のチェックを外すと、必要なデータだけが残ります。

ここに画像の説明を入力してください

関連情報