Yes, it's possible with Advanced Filtering.
First, make sure your columns (even the dates) have unique headers (see image below). The yellow cell contains a formula that serves as the Criteria for the Advanced Filter:
TRUE if a row contains a date whose month is equal to the month number entered in $B$2. You can use custom number formats and conditional formatting to make this appear in "mmmm" format. You could also modify the formula above to take the name of a month instead of its number -- perhaps something like this:
where $B$2 contains a validation list from which the user can select "January", "February"..."December".
In both formulas, F6, G6, H6 and I6 point to the first values in the date columns. These must be relative cell references in order for the filter to work.
Make sure that the Criteria cell (yellow) has an empty cell above it. To run the filter:
- Select your data table.
- Go to Data > Advanced
- Select Filter the list, in-place
- Make sure that List range contains the reference to your data table (including headers).
- For Criteria range, select the Criteria cell (yellow in my example) AND the empty cell above it.
After running the filter, I get this: