Faster way to work with large data?

ajocius1

Board Regular
Joined
Dec 21, 2007
Messages
111
Office Version
  1. 365
Platform
  1. Windows
I have list of data with 250 K lines. That data is formatted as table and I regularly update it from another data source. I do the calculation using SUMPRODUCT function to calculate values that I need. Then I copy that cell to 170 cells (10 lines, 17 columns) so that I can see result for every entity and month that I need.

Formula uses several fields to check:

Excel Formula:
=SUMPRODUCT((Table2[WorkOrder.LegalEntity]=$B6)*(Table2[YearComp]=C$4)*(Table2[MonthCompl]=C$3)*(Table2[Time to complete]))/SUMPRODUCT((Table2[WorkOrder.LegalEntity]=$B6)*(Table2[YearComp]=C$4)*(Table2[MonthCompl]=C$3))

I would like to expand list of KPI's that I can calculate based on same data sheet, but it is already is taking 15-20 sec to recalculate. I have added macros to enable and disable calculation for that result sheet, but still it is time consuming to use it.

I was thinking perhaps there is smarter way of working? Tried Power Query, that helps to import and do simple calculations on source data, but then it returns data into excel sheet Table , so I assume calculations will take the same time. Any thoughts on how can I make my work faster?
 

Excel Facts

Which lookup functions find a value equal or greater than the lookup value?
MATCH uses -1 to find larger value (lookup table must be sorted ZA). XLOOKUP uses 1 to find values greater and does not need to be sorted.
Use a macro or use a lot of helpercolumns, which allows you to use simpler (faster)functions
 
Upvote 0
May depend on what version of Excel you are using.

I suggest that you update your Account details (or click your user name at the top right of the forum) so helpers always know what Excel version(s) & platform(s) you are using as the best solution often varies by version. (Don’t forget to scroll down & ‘Save’)
 
Upvote 0
Thanks for that.
You could use the FILTER function, which should be faster that SUMPRODUCT which should be faster.
 
Upvote 0
Thanks for that.
You could use the FILTER function, which should be faster that SUMPRODUCT which should be faster.
I come accross that Counta(Filter...) function returns 1, when it there is zero records meeting criteria, then I turned to Sumproduct. Thinking of using separate sheets for every KPI and disable/enable calculation for every sheet by auto_macro triggered when activating sheet. Does anybody know if PowerQuery, PowerPivot would help somehow or same "engine" is behind calculations?
 
Upvote 0
How about
Excel Formula:
=SUM(FILTER(Table2[Time to complete],(Table2[WorkOrder.LegalEntity]=$B6)*(Table2[YearComp]=C$4)*(Table2[MonthCompl]=C$3),0))/COUNT(FILTER(ROW(Table2[Time to complete]),(Table2[WorkOrder.LegalEntity]=$B6)*(Table2[YearComp]=C$4)*(Table2[MonthCompl]=C$3)))

or if you are trying to get the average
Excel Formula:
=AVERAGE(FILTER(Table2[Time to complete],(Table2[WorkOrder.LegalEntity]=$B6)*(Table2[YearComp]=C$4)*(Table2[MonthCompl]=C$3),0))
 
Upvote 0

Forum statistics

Threads
1,215,432
Messages
6,124,858
Members
449,194
Latest member
HellScout

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top