I have a workbook with several large array formula ranges in it that take a long time to run. I am looking for a way to speed this up through VBA.
This functions return accurate data, I just need them to run much more rapidly; they currently take 2 minutes following a change in the reference cell B1.

One array formula I'm using is the following.

{=IFERROR(INDEX('Redcaps Raw'!BB:BB, MATCH('byDepartment Data'!$B$1 & TEXT('byDepartment Data'!$A8, "MMM-YY"), 'Redcaps Raw'!A:A & TEXT('Redcaps Raw'!E:E, "MMM-YY"), 0)),"")}

The date part is pretty important and may be where I'm getting hung up when I've tried VBA.
I am specifically looking up any time within a month using "mmm-yy" format.

In byDepartment Data Sheet
B1 is Department Name
A8-A20 is by month last 12 months + current month.

In Redcaps Raw Sheet
There are multiple entries for each department, and over the date range I'm searching for.
A:A is Department reference
E:E is Date reference and is formatted "mm/dd/yyyy" and can not change
BB:BB is my lookup value

Thanks!