EDIT
Workable File: https://docs.google.com/spreadsheets/d/1IhxKqnj62vssttZA73hF-S_TvynQNPdtSyb7wWq3Kpo/edit?usp=sharing
Screenshot: http://i.imgur.com/d25R8lc.png
OBJECTIVE
I am currently creating a pricing model for CUSTOMERS, who order specific PRODUCTS, and CONFIGURATIONS of said product. The end result is to SUM SALES and LOOKUP a table to place the customer into a category.
APPROACH
- 500,000+ Rows of data
- SUMIF: Sum Range = SALES; Criteria = (CUSTOMER ID, PRODUCT ID, CONFIGURATION)
- VLOOKUP: Take SUMIF value and partially match to PRICING TIER table, return Pricing Tier (e.g "Silver Tier", "Gold Tier", "Platinum Tier")
- Once pricing tiers have been defined, create a pivot table for easy filtering
PROBLEM(S): Processing time for rows is 30-60 minutes. I've tried breaking out the SUMIFS statements from the VLOOKUP to calculate them independently, but had no measurable success. I've also tried making SQL queries to the server (using DSUM) to reduce the local workload, but this also had no positive effect in processing time.
QUESTIONS
- How can I efficiently process large amounts of information and properly categorize CUSTOMERS based off of their SALES, PRODUCT ID, and CONFIGURATION criteria?
- I've been considering doing this in VBA, but am not sure whether or not VBA is actually more efficient than a cell formula.
- Would add-in utilities offer any solution (e.g power pivot or power query)?