I'm (very) new to excel so bare with me.

I have an excel spreadsheet to log incoming samples from different companies (Sample ID, Company,..., Date received,...etc.).

A second sheet in the workbook has a list of every company that has ever sent in a sample (basically, a database with their contact details), in alphabetical order. I have a column in this sheet called 'Last Active' to tell me the date for which the last sample was sent in for each company.

My formula for this is:
{=LARGE(IF('Sheet 1'!C:C=Sheet 2!A2,'Sheet 1'!I:I),1)}

However, this array formula is calculating through around 3500 rows in Sheet 1, which I think is what is causing the huge delay when the sheet calculates. I've had to switch it to manual because it was freezing every time I changed anything in the workbook. Ideally, I'd like for it to be calculating automatically.

Is there a way to replace the array formula to something which isn't so intensive in terms of calculating? Perhaps breaking it down into several columns and hiding the unnecessary ones?

Any help would be appreciated!