Range.AutoFilter メソッド (Excel)Range.AutoFilter method (Excel)

オートフィルターを使ってリストをフィルター処理します。Filters a list using the AutoFilter.


expression.AutoFilter (Field, Criteria1, Operator, Criteria2, SubField, VisibleDropDown)expression.AutoFilter (Field, Criteria1, Operator, Criteria2, SubField, VisibleDropDown)

: Range オブジェクトを返す式。expression An expression that returns a Range object.


名前Name 必須 / オプションRequired/Optional データ型Data type 説明Description
FieldField 省略可能Optional VariantVariant フィルターの対象となるフィールド番号を整数で指定します。フィールド番号は、リストの左側から始まります。つまり、最も左側にあるフィールドはフィールド番号 1 になります。The integer offset of the field on which you want to base the filter (from the left of the list; the leftmost field is field one).
Criteria1Criteria1 省略可能Optional VariantVariant 抽出条件 ("101" などの文字列)。The criteria (a string; for example, "101"). 空白のフィールドを検索するには "="、空白以外のフィールドを検索するには "<>"、データ型の (データなし) フィールドを選択するには "><" を使用します。Use "=" to find blank fields, "<>" to find non-blank fields, and "><" to select (No Data) fields in data types.

この引数を省略すると、抽出条件は All になります。If this argument is omitted, the criteria is All. 演算子xlTop10Items の場合は、Criteria1 に項目数を指定します (たとえば "10" など)。If Operator is xlTop10Items, Criteria1 specifies the number of items (for example, "10").
演算子Operator 省略可能Optional XlAutoFilterOperatorXlAutoFilterOperator フィルターの種類を XlAutoFilterOperator の定数で指定します。An XlAutoFilterOperator constant specifying the type of filter.
Criteria2Criteria2 省略可能Optional VariantVariant 2 番目の抽出条件となる文字列を指定します。The second criteria (a string). Criteria1 および Operator と組み合わせて使い、複合抽出条件を構築します。Used with Criteria1 and Operator to construct compound criteria.
SubFieldSubField OptionalOptional VariantVariant 抽出条件を適用するデータ型のフィールド (たとえば、地理学の [人口] フィールド、または株価の [量] フィールド)。The Field from a data type on which to apply the Criteria (for example, the "Population" field from Geography or "Volume" field from Stocks). この値を省略すると、"(表示値)" が対象になります。Omitting this value targets the "(Display Value)".
VisibleDropDownVisibleDropDown 省略可能Optional VariantVariant True を指定すると、フィルター処理されるフィールドのオートフィルターのドロップダウン矢印を表示します。True to display the AutoFilter drop-down arrow for the filtered field. False を指定すると、抽出されるフィールドのオートフィルターのドロップダウン矢印を非表示にします。False to hide the AutoFilter drop-down arrow for the filtered field. 既定値は True です。True by default.

戻り値Return value



この引数をすべて省略すると、このメソッドでは、指定された範囲内の AutoFilter ドロップダウン矢印の表示を単に切り替えます。If you omit all the arguments, this method simply toggles the display of the AutoFilter drop-down arrows in the specified range.

Excel for Mac は、このメソッドをサポートしていません。Excel for Mac does not support this method. Selection およびListObjectの同様のメソッドはサポートされています。Similar methods on Selection and ListObject are supported.

数式内とは異なり、サブフィールドには、スペースを含めるための角かっこは不要です。Unlike in formulas, Subfields do not require brackets to include spaces.


次の使用例は、フィールド 1 が "Otis" という文字列であるエントリだけを表示し、シート 1 のセル A1 から始まるリストをフィルター処理します。This example filters a list starting in cell A1 on Sheet1 to display only the entries in which field one is equal to the string "Otis". フィールド 1 のドロップダウン矢印は非表示になります。The drop-down arrow for field one will be hidden.

Worksheets("Sheet1").Range("A1").AutoFilter _
 Field:=1, _
 Criteria1:="Otis", _

この例では、Sheet1 のセル A1 から始まるリストをフィルター処理して、サブフィールド である管理部門 (都道府県/その他) を含むフィールド 1 の値 (ここでは値が Washington ) のエントリのみを表示します。This example filters a list starting in cell A1 on Sheet1 to display only the entries in which the values of field one contain a SubField, "Admin Division 1 (State/province/other)", where the value is "Washington".

Worksheets("Sheet1").Range("A1").AutoFilter _
 Field:=1, _
 Criteria1:="Washington", _
 SubField:="Admin Division 1 (State/province/other)"

この例では、Sheet1 の "Table1" テーブルをフィルター処理して、フィールド 1 の値の "(表示値)" が "1"、"3"、"Seattle"、または "Redmond" であるエントリのみを表示します。This example filters a Table, "Table1", on Sheet1 to display only the entries in which the values of field one have a "(Display Value)" that is either "1", "3", "Seattle", or "Redmond".

Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter _
 Field:=1, _
 Criteria1:=Array("1", "3", "Seattle", "Redmond"), _

データ型は、複数のサブフィールド フィルターを適用できます。Data types can apply multiple SubField filters. この例では、Sheet1 の "Table1" テーブルをフィルター処理して、タイムゾーンの値が "太平洋時間帯" のサブフィールドを含むフィールド 1 の値のエントリのみを表示します。そして、"検出日"という名のサブフィールド は、"1851" または "(データなし)" のいずれかとなります。This example filters a Table, "Table1", on Sheet1 to display only the entries in which the values of field one contain a SubField, "Time zone(s)", where the value is "Pacific Time Zone", and where the SubField "Date Founded" is either "1851" or there is "(No Data)".

Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter _
 Field:=1, _
 Criteria1:="Pacific Time Zone", _
 SubField:="Time Zone(s)"
Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter _
 Field:=1, _
 Criteria1:=Array("1851", "><"), _
 Operator:=xlFilterValues, _
 SubField:="Date founded"

この例では、Sheet1 の "Table1" テーブルをフィルター処理して、"人口" サブフィールドに基づいたフィールド 1 に上位 10 項目を表示します。This example filters a Table, "Table1", on Sheet1 to display the Top 10 entries for field one based off the "Population" SubField.

Worksheets("Sheet1").ListObjects("Table1").Range.AutoFilter _
 Field:=1, _
 Criteria1:="10", _
 Operator:=xlTop10Items, _

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.