オートフィルタ(平均より上・平均より下)AutoFilter メソッド
平均値よりも大きい(小さい)値のレコードを抽出
AutoFilter メソッドで、引数 operator に、xlFilterDynamic を指定し、引数 criteria1 に、xlFilterAboveAverage を指定すると平均値よりも大きい値を抽出、引数 operator に、xlFilterDynamic を指定し、引数 criteria1 に、xlFilterBelowAverage を指定すると平均値よりも小さい値を抽出することができます(Excel 2007 以降のバージョン)。
object.AutoFilter ( [ field, criteria1, operator ] )
引数・戻り値
- object ・・・ 対象となる Range オブジェクトを指定します。
- field ・・・ フィルターの対象となるフィールド番号を整数で指定します。対象となる範囲の最も左側の列(フィールド)が、フィールド番号 1 になります。
複数の列(フィールド)をまとめて扱いたい場合は、配列を指定することも可能です。
(例)field := Array(1,3,6) - criteria1 ・・・ 平均を上回る値を抽出したい場合は、xlFilterAboveAverage を指定します。平均未満の値を抽出したい場合は、xlFilterBelowAverage を指定します。
- operator ・・・ xlFilterDynamic を指定します。
AutoFilter メソッド の引数の詳細については、オートフィルタ(AutoFilter メソッド) を参照してください。
平均より上の値を抽出する例
サンプルVBAソース 1
1 2 3 4 5 6 7 8 9 10 |
Sub Sample09_1_AutoFilter() '全教科すべて平均点より上 Range("B3").AutoFilter Field:=Array(3, 4, 5, 6, 7), _ criteria1:=xlFilterAboveAverage, _ Operator:=xlFilterDynamic End Sub |
実行結果
サンプルVBAソース 実行前
実行後
平均より下の値を抽出する例
サンプルVBAソース 2
1 2 3 4 5 6 7 8 9 10 |
Sub Sample09_2_AutoFilter() '合計点が平均未満 Range("B3").AutoFilter Field:=8, _ criteria1:=xlFilterBelowAverage, _ Operator:=xlFilterDynamic End Sub |
実行結果
サンプルVBAソース 実行前
実行後
関連記事
-
セル・セル範囲をコピーする(Copy メソッド)
Copy メソッド Copy メソッドは、セル範囲をコピーし、指定したセル範囲に …
-
セルの値を置換(Replace メソッド)
Replace メソッド 任意のセル範囲内から特定の値を一括して置換します。Fi …
-
網かけ(パターン)の取得・設定(Pattern プロパティ)
網かけ(パターン)を取得・設定する セルの背景に網かけ(パターン)を設定したり、 …
-
入力規則(入力時メッセージの設定)Validation オブジェクト
入力規則の入力時メッセージを表示する Validation.ShowInput …
-
セルを参照する(Range プロパティ)
Range プロパティ 任意のセルにアクセスするには Range プロパティを使 …
-
セルの位置を取得(Left プロパティ、Top プロパティ)
Left プロパティ・Top プロパティ Left プロパティは、「A列」の左端 …
-
重複するデータを削除(RemoveDuplicates メソッド)
RemoveDuplicates メソッド 指定したセル範囲から重複データを含む …
-
セルをアクティブにする・セルを選択する(Activate, Select)
セルをアクティブにする・選択する 【書式:セルをアクティブにする】 object …
-
オートフィルタ(日付フィルタ)AutoFilter メソッド
日付フィルタを使用してレコードを抽出する Excel 2007 から「日付フィル …
-
セルを参照する(Cells プロパティ)
Cells プロパティ Cells プロパティは、ワークシートの行番号と列番号を …