The obvious question from yesterdays blog post is: How to customize formula to extract dates for all months in calendar?

(I have added more data to the calendar since yesterday)

Array formula in A2:

=SMALL(IF((Sheet1!\$C\$5:\$AG\$16<>Sheet1!\$B\$5:\$AF\$16)*(Sheet1!\$C\$5:\$AG\$16<>""), DATE(Sheet1!\$F\$2, ROW(Sheet1!\$C\$5:\$AG\$16)-MIN(ROW(Sheet1!\$C\$5:\$AG\$16))+1, Sheet1!\$C\$4:\$AG\$4), ""), ROW(A1)) + CTRL + SHIFT + ENTER.

Copy cell A2 and  paste it down as far as needed.

Array formula in B2:

=SMALL(IF((Sheet1!\$C\$5:\$AG\$16<>Sheet1!\$D\$5:\$AH\$16)*(Sheet1!\$C\$5:\$AG\$16<>""), DATE(Sheet1!\$F\$2, ROW(Sheet1!\$C\$5:\$AG\$16)-MIN(ROW(Sheet1!\$C\$5:\$AG\$16))+1, Sheet1!\$C\$4:\$AG\$4), ""), ROW(A1)) + CTRL + SHIFT + ENTER.

Copy cell B2 and  paste it down as far as needed.

Array formula in C2:

=INDEX(Sheet1!\$C\$5:\$AG\$16, SMALL(IF((Sheet1!\$C\$5:\$AG\$16<>Sheet1!\$B\$5:\$AF\$16)*(Sheet1!\$C\$5:\$AG\$16<>""), ROW(Sheet1!\$C\$5:\$AG\$16)-MIN(ROW(Sheet1!\$C\$5:\$AG\$16))+1, ""), ROW(A1)), DAY(SMALL(IF((Sheet1!\$C\$5:\$AG\$16<>Sheet1!\$B\$5:\$AF\$16)*(Sheet1!\$C\$5:\$AG\$16<>""), DATE(Sheet1!\$F\$2, ROW(Sheet1!\$C\$5:\$AG\$16)-MIN(ROW(Sheet1!\$C\$5:\$AG\$16))+1, Sheet1!\$C\$4:\$AG\$4), ""), ROW(A1)))) + CTRL + SHIFT + ENTER.

Copy cell C2 and  paste it down as far as needed.

Extract-dates-and-name-from-yearly-block-schedule.xls
(Excel 97-2003 Workbook *.xls)