+ Reply to Thread
Results 1 to 8 of 8

Non-volatile alternative to SUMIFS(INDIRECT()) formulas

  1. #1
    Registered User
    Join Date
    08-03-2010
    Location
    US
    MS-Off Ver
    MS 365
    Posts
    6

    Non-volatile alternative to SUMIFS(INDIRECT()) formulas

    Hi!

    I'm looking for any suggestions on how to optimize a workbook that is heavily dependent on volatile functions (it's incredibly painful to work on this file, it runs very slow).

    ----------

    All data is contained within the same workbook (no external links / references).

    Tab CalcSheet is where the majority of my formulas are located (think of it as a summary output & control tab).

    Within CalcSheet:

    Column I contains several dates, starting in I8. The current date range goes from I8:I3000 (ascending order), for context.

    Column K contains the sum of the values in L:AI. For example, K8=SUM(L8:AI8).

    The issue seems to come from the formulas in L8:AI3000, and this is where I could use help!


    For example:

    L8=IF($I8<=$D$6,SUMIFS(INDIRECT("'"&L$6&"'!"&"$IT$"&L$4&":$IT$"&L$5&""),INDIRECT("'"&L$6&"'!"&"$B$"&L$4&":$B$"&L$5&""),$I8),0)
    Where:

    - I8 is a lookup value (a date, as described above).

    - D6 is a cutoff date.

    - L6 contains the name of the tab within the same workbook where the data is located. These names vary per column and were hardcoded in L:AI. For example, L6=DataSheet1, M6=DataSheet2, N6=DataSheet3, etc.

    - "IT" is the column reference for the DataSheets where the data I want to sum-up is located.

    - L4 contains the row number where the target range begins. The formulas in L4:AI4 were entered manually. For example, L4=ROW('DataSheet1'!$IT$33), M4=ROW('DataSheet2'!$IT$33), N4=ROW('DataSheet3'!$IT$33), etc. Note that the target range always starts in row 33 in the DataSheets.

    - L5 contains the row number where the target range ends. Again, these were all entered manually as ROW formulas, however, the last row for the target range is unique to each DataSheet. As such, I had to manually find and link the last row for each ROW formula in L5:AI5. Furthermore, these formulas will need to be continuously adjusted as each DataSheet will be continuously updated with new data.

    - "B" is the column reference for the DataSheets where dates are located. You will notice that these are tested against values in column I in CalcSheet.

    Any ideas? Thanks!

  2. #2
    Administrator FDibbins's Avatar
    Join Date
    12-29-2011
    Location
    Duncansville, PA USA
    MS-Off Ver
    Excel 7/10/13/16/365 (PC ver 2310)
    Posts
    53,048

    Re: Non-volatile alternative to SUMIFS(INDIRECT()) formulas

    Hi, welcome to the forum

    To best describe or illustrate your problem you would be better off attaching a dummy workbook. The workbook should contain the same structure and some dummy data of the same type as the type you have in your real workbook - so, if a cell contains numbers & letters in this format abc-123 then that should be reflected in the dummy workbook.

    To attach a file to your post,
    click advanced (next to quick post),
    scroll down until you see "manage file",
    click that and select "add files" (top right corner).
    click "select files" find your file, click "open" click "upload" click 'done" bottom right. click "submit reply"

    Once the upload is completed the file name will appear below the input boxes in this window.
    You can then close the window to return to the new post screen.
    1. Use code tags for VBA. [code] Your Code [/code] (or use the # button)
    2. If your question is resolved, mark it SOLVED using the thread tools
    3. Click on the star if you think someone helped you

    Regards
    Ford

  3. #3
    Registered User
    Join Date
    08-03-2010
    Location
    US
    MS-Off Ver
    MS 365
    Posts
    6

    Re: Non-volatile alternative to SUMIFS(INDIRECT()) formulas

    Excellent point. I've attached a dummy workbook to this reply, as suggested. Thank you!!
    Attached Files Attached Files
    Last edited by AliGW; 08-27-2018 at 10:54 AM.

  4. #4
    Forum Moderator AliGW's Avatar
    Join Date
    08-10-2013
    Location
    Retired in Ipswich, Suffolk, but grew up in Sawley, Derbyshire (both in England)
    MS-Off Ver
    MS 365 Subscription Insider Beta Channel v. 2503 (Windows 11 Home 24H2 64-bit)
    Posts
    90,384

    Re: Non-volatile alternative to SUMIFS(INDIRECT()) formulas

    Why do you have the row numbers defined at the top? What is the purpose of that? I don't mean how it fits into the formula - I am asking why you are doing it that way. Surely a SUMIFS range set long enough for any eventuality would suffice:

    =IF($I8<=$D$6,SUMIFS(INDIRECT("'"&L$6&"'!"&"$C$33:$C$200"),INDIRECT("'"&L$6&"'!"&"$B$33:$B$200"),$I8),0)
    Last edited by AliGW; 08-27-2018 at 11:07 AM.
    Ali


    Enthusiastic self-taught user of MS Excel who's always learning!
    Don't forget to say "thank you" in your thread to anyone who has offered you help. It's a universal courtesy.
    You can reward them by clicking on * Add Reputation below their user name on the left, if you wish.

    NB:
    as a Moderator, I never accept friendship requests.
    Forum Rules (updated August 2023): please read them here.

  5. #5
    Registered User
    Join Date
    08-03-2010
    Location
    US
    MS-Off Ver
    MS 365
    Posts
    6

    Re: Non-volatile alternative to SUMIFS(INDIRECT()) formulas

    Thanks, Ali!

    The row numbers on top are used to define the lookup ranges, which very for each of the DataSheets (I'm working with 24 DataSheets currently). If I set them to a generic range, say, $IT$33:$IT$3000, I might eventually run into issues (double counting, maybe errors due to text, etc.)

  6. #6
    Forum Moderator AliGW's Avatar
    Join Date
    08-10-2013
    Location
    Retired in Ipswich, Suffolk, but grew up in Sawley, Derbyshire (both in England)
    MS-Off Ver
    MS 365 Subscription Insider Beta Channel v. 2503 (Windows 11 Home 24H2 64-bit)
    Posts
    90,384

    Re: Non-volatile alternative to SUMIFS(INDIRECT()) formulas

    Why would you run into such errors? Why would the data layout differ from one dataset sheet to the next? Why do you need the separate datasheets anyway?

    Please don't quote whole posts, especially when you are responding to the one immediately preceding your own - it's just clutter. It's OK to quote if you are responding to a post out of sequence, but limit quoted content to a few relevant lines that makes clear to whom and what you are responding. Thanks!

    For normal conversational replies, try using the QUICK REPLY box below.

  7. #7
    Forum Guru MarvinP's Avatar
    Join Date
    07-23-2010
    Location
    Woodinville, WA
    MS-Off Ver
    Office 365
    Posts
    16,243

    Re: Non-volatile alternative to SUMIFS(INDIRECT()) formulas

    Hi plsexcelhelp and welcome to the forum,

    Because you are using Excel 2016, you have Get & Transform (used to be called Power Query) built into your version. I think you are trying to roll your 5 data sheets into a single table and amount. See the attached where PQ does this for you. I first saved your Dummy file (must be a saved file) then click on Data Tab and "From File". After removing nulls in Col2 only data is left on each sheet. The append the data together and I did a Pivot Table grouped by dates. I think this is what you are working towards. See the attached. Start learning Power Query?

    Dummy workbook Power Query and Pivot Table.xlsx
    One test is worth a thousand opinions.
    Click the * Add Reputation below to say thanks.

  8. #8
    Registered User
    Join Date
    08-03-2010
    Location
    US
    MS-Off Ver
    MS 365
    Posts
    6

    Re: Non-volatile alternative to SUMIFS(INDIRECT()) formulas

    AliGW -

    I need to separate the DataSheets as each corresponds to an individual "Subject", and there's more than just raw data in these DataSheets.

    What starts in row 33 in all of them is cash flow (CF) data. For example, I might have 100 CF entries for DataSheet 1 and 1500 for DataSheet 2.

    Furthermore, underneath the CF data entry for each DataSheet, there might be financial modeling / calculations that are individual to each of the "Subjects". I can't standardize them all, unfortunately.
    Last edited by plsexcelhelp; 08-27-2018 at 11:37 AM. Reason: Adding name to answer

+ Reply to Thread

Thread Information

Users Browsing this Thread

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

Similar Threads

  1. Replies: 14
    Last Post: 10-16-2015, 04:59 PM
  2. Non-Volatile Alternative: Cell or Indirect and Address for Named Range Formula
    By cmore in forum Excel Programming / VBA / Macros
    Replies: 5
    Last Post: 07-07-2015, 10:02 AM
  3. [SOLVED] Non-volatile replacement for INDIRECT in SUMIFS formula
    By Lotrking1010 in forum Excel Formulas & Functions
    Replies: 3
    Last Post: 12-04-2013, 11:06 AM
  4. Non-volatile alternative to INDIRECT
    By elliotencore in forum Excel Formulas & Functions
    Replies: 5
    Last Post: 07-21-2013, 11:28 AM
  5. Volatile INDIRECT
    By wjsok85 in forum Excel Programming / VBA / Macros
    Replies: 10
    Last Post: 07-23-2010, 07:53 AM
  6. Replacement for using Indirect (Volatile)
    By jeffreybrown in forum Excel Formulas & Functions
    Replies: 6
    Last Post: 10-31-2009, 09:54 AM
  7. is there a NON-volatile version of INDIRECT ??
    By spiderman in forum Excel General
    Replies: 1
    Last Post: 02-04-2005, 01:06 PM

Tags for this Thread

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