+ Reply to Thread
Results 1 to 1 of 1

Named functions question

  1. #1
    Forum Contributor
    Join Date
    04-24-2012
    Location
    Moscow
    MS-Off Ver
    Excel 2010
    Posts
    291

    Named functions question

    Hi! it's known that using mega functions (functions which are a combination of several separate function) is favorable in terms of time it takes to calculate. My question is, and i didn't find the answer on web, whether naming functions affects calculations time. To give you a sense of this question importance, take a look:

    This function is used on one sheet 365*22 times:

    =SUM(IF(OFFSET(DATA!$A$1,MATCH(INDEX(Base_tickers,MATCH($A60,BASA!$A:$A,1)-1,COLUMN()-1),Col_with_IDs,0),1,,22)>=$A60,OFFSET(DATA!$A$1,MATCH(INDEX(Base_tickers,MATCH($A60,BASA!$A:$A,1)-1,COLUMN()-1),Col_with_IDs,0)+3,1,,22),0)*(IF(EXP(-(IF(OFFSET(DATA!$A$1,MATCH(INDEX(Base_tickers,MATCH($A60,BASA!$A:$A,1)-1,COLUMN()-1),Col_with_IDs,0),1,,22)>=$A60,($AO60+($AP60+$AQ60)*($AR60/(((OFFSET(DATA!$A$1,MATCH(INDEX(Base_tickers,MATCH($A60,BASA!$A:$A,1)-1,COLUMN()-1),Col_with_IDs,0),1,,22))-$A60)/365))*(1-EXP(-(((OFFSET(DATA!$A$1,MATCH(INDEX(Base_tickers,MATCH($A60,BASA!$A:$A,1)-1,COLUMN()-1),Col_with_IDs,0),1,,22))-$A60)/365)/$AR60))-$AQ60*EXP(-(((OFFSET(DATA!$A$1,MATCH(INDEX(Base_tickers,MATCH($A60,BASA!$A:$A,1)-1,COLUMN()-1),Col_with_IDs,0),1,,22))-$A60)/365)/$AR60)+$AS60*EXP(-((((OFFSET(DATA!$A$1,MATCH(INDEX(Base_tickers,MATCH($A60,BASA!$A:$A,1)-1,COLUMN()-1),Col_with_IDs,0),1,,22))-$A60)/365)^2)/2)+$AT60*EXP(-(((((OFFSET(DATA!$A$1,MATCH(INDEX(Base_tickers,MATCH($A60,BASA!$A:$A,1)-1,COLUMN()-1),Col_with_IDs,0),1,,22))-$A60)/365)-1)^2)/2)+$AU60*EXP(-(((((OFFSET(DATA!$A$1,MATCH(INDEX(Base_tickers,MATCH($A60,BASA!$A:$A,1)-1,COLUMN()-1),Col_with_IDs,0),1,,22))-$A60)/365)-2)^2)/2))))*(IF(OFFSET(DATA!$A$1,MATCH(INDEX(Base_tickers,MATCH($A60,BASA!$A:$A,1)-1,COLUMN()-1),Col_with_IDs,0),1,,22)>=$A60,(((OFFSET(DATA!$A$1,MATCH(INDEX(Base_tickers,MATCH($A60,BASA!$A:$A,1)-1,COLUMN()-1),Col_with_IDs,0),1,,22))-$A60)/365),0)))=1,0,EXP(-(IF(OFFSET(DATA!$A$1,MATCH(INDEX(Base_tickers,MATCH($A60,BASA!$A:$A,1)-1,COLUMN()-1),Col_with_IDs,0),1,,22)>=$A60,($AO60+($AP60+$AQ60)*($AR60/(((OFFSET(DATA!$A$1,MATCH(INDEX(Base_tickers,MATCH($A60,BASA!$A:$A,1)-1,COLUMN()-1),Col_with_IDs,0),1,,22))-$A60)/365))*(1-EXP(-(((OFFSET(DATA!$A$1,MATCH(INDEX(Base_tickers,MATCH($A60,BASA!$A:$A,1)-1,COLUMN()-1),Col_with_IDs,0),1,,22))-$A60)/365)/$AR60))-$AQ60*EXP(-(((OFFSET(DATA!$A$1,MATCH(INDEX(Base_tickers,MATCH($A60,BASA!$A:$A,1)-1,COLUMN()-1),Col_with_IDs,0),1,,22))-$A60)/365)/$AR60)+$AS60*EXP(-((((OFFSET(DATA!$A$1,MATCH(INDEX(Base_tickers,MATCH($A60,BASA!$A:$A,1)-1,COLUMN()-1),Col_with_IDs,0),1,,22))-$A60)/365)^2)/2)+$AT60*EXP(-(((((OFFSET(DATA!$A$1,MATCH(INDEX(Base_tickers,MATCH($A60,BASA!$A:$A,1)-1,COLUMN()-1),Col_with_IDs,0),1,,22))-$A60)/365)-1)^2)/2)+$AU60*EXP(-(((((OFFSET(DATA!$A$1,MATCH(INDEX(Base_tickers,MATCH($A60,BASA!$A:$A,1)-1,COLUMN()-1),Col_with_IDs,0),1,,22))-$A60)/365)-2)^2)/2))))*(IF(OFFSET(DATA!$A$1,MATCH(INDEX(Base_tickers,MATCH($A60,BASA!$A:$A,1)-1,COLUMN()-1),Col_with_IDs,0),1,,22)>=$A60,(((OFFSET(DATA!$A$1,MATCH(INDEX(Base_tickers,MATCH($A60,BASA!$A:$A,1)-1,COLUMN()-1),Col_with_IDs,0),1,,22))-$A60)/365),0))))))

    and it takes 3 min. just to load the file.


    And now the same function, but when it possible written using named functions:

    =SUM((IF(Find_future_dates,OFFSET(DATA!$A$1,Ticker_row_DATA+3,1,,142),0))*(IF(EXP(-(IF(Find_future_dates,Model/10000))*(IF(Find_future_dates,Maturity,0)))=1,0,(EXP(-(IF(Find_future_dates,Model/10000))*(IF(Find_future_dates,Maturity,0)))))))

    For some reason, i cant just compare. so i'm asking you - maybe you know. Thanks in advance.
    Last edited by Alexander_Golinsky; 05-29-2012 at 12:43 PM.

+ 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