印刷物にフィルター基準を表示する(Microsoft Excel)
Microsoft Excelには、表示したい情報のみを含めるように大きなデータテーブルをフィルタリングするのに役立ついくつかの優れたツールが含まれています。事実上、フィルターを使用すると、必要なものが得られるまでデータを「スライスアンドダイス」することができます。
フィルタリングされたデータを印刷するときは、元のデータに対してどのようなスライスとダイシングが行われたかを知りたい場合があります。フィルタリング基準を表示するには、いくつかの方法があります。簡単な方法の1つは、Excelの高度なフィルタリング機能を使用することです。これには、データ用の小さな基準テーブルを設定する必要があります。基準テーブルが印刷物の一部になっている場合は、フィルタリング基準を非常に簡単に確認できます。
AutoFilterを使用する場合は、別のアプローチを使用する必要があります。そのようなアプローチの1つは、JohnWalkenbachのサイトで詳しく説明されています。
http://j-walk.com/ss/excel/usertips/tip044.htm
このソリューションは、ユーザー定義関数を使用して、現在の列で使用されているフィルタリング基準を返します。この関数をセルのその列で使用して、基準を表示できます。高度なフィルタリングを使用している場合、マクロアプローチはもう少し複雑です。次のマクロ(リストには2つあります)は、どの高度な基準が機能しているかを調べ、ヘッダーの左側に基準を配置します。
Sub AddFilterCriteria() Dim strCriteria As String strCriteria = FilterCriteria() If strCriteria = "" Then strCriteria = "No Filtering Criteria" Else strCriteria = "Filter Criteria:" & Chr(10) & strCriteria End If ' add Criteria string to Header/Footer With ActiveSheet.PageSetup .LeftHeader = strCriteria End With End Sub Function FilterCriteria() As String Dim rngCriteria As Range, col As Range, cel As Range Dim strCriteria As String, r As Integer, c As Integer Const strCriteriaRange As String = "Criteria" FilterCriteria = "" On Error Resume Next 'Set Criteria-Range reference Set rngCriteria = Range(strCriteriaRange) If Err <> 0 Then Exit Function On Error GoTo 0 ' Create Criteria String c = 0 For Each col In rngCriteria.Columns c = c + 1 ' CriteriaRange Columns r = 1 ' CriteriaRange Rows For Each cel In col.Cells If r = 1 Then strCriteria = strCriteria & "Criteria" _ & c & " (" & cel.Value & ") = " Else strCriteria = strCriteria & "'" & cel.Value & "'" If IsEmpty(cel.Offset(1, 0)) Then 'Add New row Char if not Last Criteria Column If c < rngCriteria.Columns.Count Then strCriteria = strCriteria & Chr(10) End If Exit For End If strCriteria = strCriteria & " " End If r = r + 1 Next cel ' next criteria row Next col ' next criteria column FilterCriteria = strCriteria End Function
マクロを使用するには、高度なフィルタリングを設定した後、AddFilterCriteriaマクロを実行するだけです。マクロは基準テーブルを読み取り、基準を左側のヘッダーに配置される文字列にまとめます。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]
。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(3248)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。
link:/ excelribbon-Showing_Filter_Criteria_on_a_Printout [プリントアウトにフィルター基準を表示する]
。