上位の値を絞り込む
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点のみ)表示される



コメント