Excelで横方向にフィルターをかける方法を紹介!

Excelで横方向にフィルターをかける方法を紹介!

Microsoft Excelで横方向にフィルターをかけたいと思ったことはありませんか?基本的には、縦方向のみで横方向に対してフィルターをかけることはできませんよね。この記事では、Excelで横方向にフィルターをかける方法をご紹介しています。


目次[非表示]

  1. Excelで横方向にフィルターをかけたい
  2. Excelで横方向にフィルターをかける方法

Excelで横方向にフィルターをかけたい

Microsoft Excel方向にフィルターをかけたいと思ったことはありませんか?シート内の表に対して横方向にフィルターをかけたくても、基本的に横方向に対してフィルターをかけることはできませんよね。

そこで、代替手段を用いるかマクロを使用してフィルターをかけてみましょう。この記事では、Excelで横方向にフィルターをかける方法をご紹介していきます。

Excelで横方向にフィルターをかける方法

フィルターをかけたいリストを範囲選択してコピー
それでは、Excelで横方向にフィルターをかける方法を説明します。冒頭で説明している通り、Excelでは横方向にフィルターをかけることはできません。ですので、擬似的に横方向にフィルターをかけてみましょう。まずは、フィルターをかけたいリストを範囲選択してコピーを行います。
貼り付けたい場所で右クリックして、メニューの「形式を選択して貼り付け」をクリック
続いてリストを貼り付けたい場所で右クリックして、メニューの「形式を選択して貼り付け」をクリックしましょう。
「行/列の入れ替え」のチェックボックスをオンにして「OK」をクリック
「形式を選択して貼り付け」ダイアログボックスが表示されるので、「行/列の入れ替え」のチェックボックスをオンにしてから「OK」をクリックしましょう。
行と列のデータを入れ替えたリストを貼り付けることができた
これで、行と列のデータを入れ替えたリストを貼り付けることができました。あとはフィルターを適用することで、擬似的に横方向にフィルターをかけるといったことができますよ。
フィルターをかけたいシート名を右クリックして、メニューから「コードの表示」をクリック
難易度が高くなってしまいますが、VBAでマクロを組んでフィルターを横方向にかけるという方法もあります。フィルターをかけたいシート名を右クリックして、メニューから「コードの表示」をクリックしましょう。
コード入力ウィンドウ
「Microsoft Visual Basic for Applications」ウィンドウが表示され、コード入力ウィンドウが用意されます。こちらにコードを入力してから、実行ボタンをクリックしてマクロを実行してフィルターをかけることができますよ。画像の例では、下記のコードを入力しています。

Private Sub Worksheet_Change(ByVal Target As Range)
‘Updateby Extendoffice
Dim cl As Range
Range("a2:k2").SpecialCells(xlCellTypeBlanks).Select
For Each cl In Selection
r = cl.Column
Columns(r).EntireColumn.Hidden = True
Next
End Sub

このマクロは、「リストの中に空白セルがある場合に、該当列を非表示にする」といったマクロになります。このような形で、使用したいフィルターのマクロを組むことで横方向にフィルターを適用することができますよ。


関連記事