+ Reply to Thread
Results 1 to 2 of 2

Increase performance speed by removing INDIRECT functions

  1. #1
    Registered User
    Join Date
    05-18-2011
    Location
    UK
    MS-Off Ver
    Excel 2003
    Posts
    1

    Increase performance speed by removing INDIRECT functions

    Hello all,

    I hope that someone can help with me with my problem which I have been struggling with for a couple of days:

    I received a complex spreadsheet and my task is to improve its performance and increase the speed of calculations. Currently, it takes up to 25 minutes to calculate the spreadsheet! I have read that INDIRECT formulas should be avoided when creating a complex spreadsheet. Unfortunately, I found out that its using a lot of them which is why I think it causes the slow calculations :-( So, I would like to get rid of them if possible.

    My question which formulas are suited best to replace INDIRECT functions and if they actually can be avoided (please look at my example formula below). One of many formulas which include INDIRECT functions…

    =IF(OR($A108="PL";$A108="non-PL");IF($C108=1;SUMPRODUCT((CATEGORY=$B108)*(SUPPLIER=$F108)*(YEAR='other meta data'!$Q$2);TOTAL)+SUMPRODUCT((CATEGORY_C=$B108)*(SUPPLIER_C=$F108)*(YEAR_C='other meta data'!$Q$2);SPEND_C);IF($C108=2;SUMPRODUCT((Category_PC=$B108)*(SUPPLIER_PC=$D108)*(YEAR_PC='other meta data'!$Q$2);TOTAL_PC);""));IF(ODER($A108="Total PL";$A108="Total non-PL";$A108="Total Category Spend");SUMPRODUCT(((INDIRECT(ADRESS(ROW()-80;2)):INDIRECT(ADRESS(ROW()-1;2)))=$B108)*(((INDIRECT(ADRESS(ROW()-80;1)):INDIRECT(ADRESS(ROW()-1;1)))="PL")*(($A108="Total PL")+($A108="Total Category Spend"))+((INDIRECT(ADRESS(ROW()-80;1)):INDIRECT(ADRESS(ROW()-1;1)))="non-PL")*(($A108="Total non-PL")+($A108="Total Category Spend")));(INDIRECT(ADRESS(ROW()-80;COLUMN())):INDIRECT(ADRESS(ROW()-1;COLUMN()))));""))

    I would greatly appreciate it if someone could help me. I can provide more information if necessary.

    Thank you very much,
    pepperjoe

  2. #2
    Forum Guru TMS's Avatar
    Join Date
    07-15-2010
    Location
    The Great City of Manchester, NW England ;-)
    MS-Off Ver
    MSO 2007,2010,365
    Posts
    44,463

    Re: Increase performance speed by removing INDIRECT functions

    With formulae like that, I suspect that you need to do more than review/replace the INDIRECT.

    I don't envy you the task.

    I think it might help others to help you if you posted a sample of the workbook so the logic can be better understood.

    Regards
    Trevor Shuttleworth - Retired Excel/VBA Consultant

    I dream of a better world where chickens can cross the road without having their motives questioned

    'Being unapologetic means never having to say you're sorry' John Cooper Clarke


+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1