関数・メソッド

データ範囲から上位の値を絞り込む【AutoFilterメソッド】【ExcelVBA】

上位の値を絞り込む

AutoFilterメソッドXlAutoFilterOperator定数を使って上位のデータのみ絞り込むことができます。
「売上トップ10」など上位10番のみ表示したい場合に使えます。

使い方
セル範囲.AutoFilter Field:=列番号, Criteria1:=件数, Operator:=xlTop10Items/xlTop10Percent

xlTop10Items指定した件数分、上位の値から絞り込む
xlTop10Percentデータ件数の何%かを上位から絞り込む

 

サンプルコード

まず、以下の表をA1セルに貼り付けてください。

氏名文理科目偏差値
Aさん文系56
Bさん理系58
Cさん文系47
Dさん文系30
Eさん理系60
Fさん理系45
Gさん文系55
Hさん理系53
Iさん文系45
Jさん文系58
Public Sub Sample()
  '3列目データの上位5番目までを絞り込む。
  Range("A1").AutoFilter Field:=3, Criteria1:=5, Operator:=xlTop10Items
End Sub

Public Sub Sample2()
  '3列目データ件数の20%を上位から絞り込む。
  Range("A1").AutoFilter Field:=3, Criteria1:=20, Operator:=xlTop10Percent
End Sub


 

注意点

  • Sample実行後、フィルターを解除してください。
  • 引数Criteria1 には xlTop10Items は絞り込む件数、xlTop10Percent は絞り込む%を指定できます。
  • xlTop10Percent は、絞り込み件数から何%の数だけ絞り込む(表示する)というものです。
    10件のデータから10%を絞り込むと、その中の最上位1件だけ表示します。
    データが20件で10%の絞り込みであれば、1位と2位の2件が表示されます。
    ※上位に同数の値が何件か存在する場合、10%を超えた件数が表示される場合があります。
例)20人のテストの点数に xlTop10Percent で10%を指定すると…
・上位が100点と99点の2人の場合→この2件が表示される
・上位が100点1人と99点2人の場合→この3件が表示される
・100点が3人の場合→3件(100点のみ)表示される

 

関連記事

コメント

タイトルとURLをコピーしました