My Workbook Has Too Much Going On And Keeps Freezing
tl;dr I have my workbook doing too much across several sheets and it freezes for too long, anything I can do to fix it?
I am a Customer Services manager for a local pest control company, so I am in charge of the team that makes the schedules. In order to check for scheduling errors, I have found a way to generate reports from our CRM and use Excel to find errors.
In the past, I simply generated these reports, sorted through the data myself and gotten the results I wanted. It was great proof of concept, but I wanted to automate it for my convenience and so others who don't know the process can use it when I am unavailable.
I was able to make a workbook that would take a list of services due in a month and a list of services scheduled for a day, sort, combine, filter, etc. to produce a list of services scheduled that need another service with it, or where a reservice (extra service requested by a client) is scheduled when a maintenance (services automatically due periodically) is due, so the reservices should just be changed to the maintenance.
The problem is that whenever I add/remove the data from those reports, Excel freezes for like 5 minutes while it tried to do all that work. It's better than nothing, but I'd like to find a way for it to not do that, at least not for more than a minute or so.
Here is are some details of my Workbook:
From our CRM, I generate a report of all services due this month and a report of all services scheduled for the next day. I delete irrelevant columns until I am left with these, in this order:
For services due:
Customer ID (number unique to each account)
Last Name (customer name)
First Name (customer name)
Subscription Status (will always be "Active")
Subscription type (text)
Service Due (current due date for the service)
For services scheduled:
Customer ID (number unique to each account)
Last Name (customer name)
First Name (customer name)
Serviced By (technician assigned to appointment)
Service type (text)
Scheduled for (date appointment is for)
I take each report and put them each into their own sheet in my work book ("SubsDue" and "Scheduled"). Both sheets will have the same number of columns and are in this order to match up intentionally. There can be over 15000 total services due in a month, so I have the sheet work with A2:F200000 to ensure it all fits. Row 1 is always just column headers that do not change. There's a helper column on 2-3 sheets as well, uses COUNTIF to check for duplicate Customer ID's, which is important.
I then have it sorting through the data for these sheets by using VSTACK and FILTER to add the data to a new sheet, which will then be used again by even more sheets. Ultimately, I will have 2 sheets at the end that will only have the erroneous services I'm looking for. The sheet does this just like I expect it to, it just freezes up for 5 minutes or so while doing it.
Here are a couple examples of the formulas my sheets are using:
=FILTER(VSTACK(Scheduled!$A$2:$F$200000),NOT(VSTACK(Scheduled!$E$2:$E$200000)="Reservice"))
(Takes the data from another sheet and shows only the Reservices included in it)
=FILTER(VSTACK(SubsDue!A2:A200000,ReservicesScheduled!A2:F200000),VSTACK(SubsDue!A2:A200000,ReservicesScheduled!A2:A200000)>0)
(Combines the data from 2 sheets and excludes the empty rows form each of them)
I've been using Excel at a basic level for years and have learned a little more about it recently, but I don't know what to do to help with this. I can only imagine that having a chain of multiple sheets simultaneously using these formulas on up to 400000 rows at a time is just too much for Excel to handle without freezing up.
Any recommendations for how I can improve this? I'd appreciate any help and would love to learn from this.
Excel version is 16.0.19725.20152
[link] [comments]
Want to read more?
Check out the full article on the original site