Results 1 to 8 of 8

Calculation Efficiency

Threaded View

cmore Calculation Efficiency 10-01-2015, 07:45 AM
cmore Re: Calculation Efficiency 10-01-2015, 07:50 AM
cmore Re: Calculation Efficiency 10-01-2015, 07:54 AM
cmore Re: Calculation Efficiency 10-01-2015, 07:56 AM
cmore Re: Calculation Efficiency 10-01-2015, 08:00 AM
cmore Re: Calculation Efficiency 10-01-2015, 10:12 AM
cmore Re: Calculation Efficiency 10-01-2015, 02:19 PM
cmore Re: Calculation Efficiency 10-02-2015, 07:53 AM
  1. #4
    Forum Contributor
    Join Date
    07-30-2013
    Location
    United States
    MS-Off Ver
    Excel 2007
    Posts
    476

    Re: Calculation Efficiency

    Main Formulas: IC1 and then OC1

    
        'INTEREST WF Cures
        'I/C
        ThisWorkbook.Names.Add "WF.PmtSequence.IC.Cure.NOMINAL.Pmts.WF.INT", RefersTo:="=--(MMULT(IFERROR(WF.PmtSequence.Outstdng.WF.INT/WF.PI.Ratio.RANGE,0),WF.NPS.OrderMatrix)<=WF.IC.Cure.NOMINAL)*WF.CoverageClasses.NPS*(WF.IC.Cure.NOMINAL-(MMULT(IFERROR(WF.PmtSequence.Outstdng.WF.INT/WF.PI.Ratio.RANGE,0),WF.NPS.OrderMatrix)))*--(WF.ProRata.RANGE>0)*WF.ProRata.RANGE*WF.PI.Ratio.RANGE"
        ThisWorkbook.Names.Add "WF.PmtSequence.IC.Cure.Bal.WF.INT", RefersTo:="=--(MMULT(IFERROR(WF.PmtSequence.Outstdng.WF.INT/WF.PI.Ratio.RANGE,0),WF.NPS.OrderMatrix)<=WF.IC.Cure.NOMINAL)*WF.CoverageClasses.NPS*WF.PmtSequence.Outstdng.WF.INT"
        ThisWorkbook.Names.Add "WF.PmtSequence.IC.Cure.WF.INT", RefersTo:="=IF(WF.PmtSequence.IC.Cure.Bal.WF.INT<WF.PmtSequence.IC.Cure.NOMINAL.Pmts.WF.INT,WF.PmtSequence.IC.Cure.Bal.WF.INT,WF.PmtSequence.IC.Cure.NOMINAL.Pmts.WF.INT)"
        ThisWorkbook.Names.Add "WF.IC.Cure.NPS.WF.INT", RefersTo:="=--(MMULT(WF.PmtSequence.IC.Cure.WF.INT, WF.NPS.OrderMatrix)<=MIN(SUM(WF.PmtSequence.IC.Cure.WF.INT),WF.ProceedsAvailable.INT))*--(WF.PmtSequence.IC.Cure.WF.INT>0)*(MIN(SUM(WF.PmtSequence.IC.Cure.WF.INT),WF.ProceedsAvailable.INT)-MMULT(WF.PmtSequence.IC.Cure.WF.INT,WF.NPS.OrderMatrix))*WF.ProRata.RANGE"
        ThisWorkbook.Names.Add "WF.IC.Cure.WF.INT", RefersTo:="=SUMPRODUCT(WF.IC.Cure.NPS.WF.INT)"
        ThisWorkbook.Names.Add "WF.IC.Cure.Pmts.IntDollars.WF.INT", RefersTo:="=SUMPRODUCT(WF.IC.Cure.NPS.WF.INT/WF.PI.Ratio.RANGE)"
        
        'O/C
        ThisWorkbook.Names.Add "WF.PmtSequenceOutstanding.UpTotOC.WF.INT", RefersTo:="=(WF.PmtSequence.Outstdng.WF.INT - WF.IC.Cure.NPS.WF.INT)"
        ThisWorkbook.Names.Add "WF.OCDenominator.WF.INT.UpToCov.NPS", RefersTo:="=(WF.PmtSequenceOutstanding.UpTotOC.WF.INT*--((WF.NPS.Type=""DEFERRED"")+(WF.NPS.Type=""PAR""))*WF.CoverageClasses.DENOM)"
        ThisWorkbook.Names.Add "WF.OCDenominator.WF.INT.UpToCov", RefersTo:="=SUM(WF.OCDenominator.WF.INT.UpToCov.NPS)"
        ThisWorkbook.Names.Add "WF.OC.Cure.NOMINAL.WF.INT", RefersTo:="=MIN(PRODUCT(SUM(WF.OCDenominator.WF.INT.UpToCov,-WF.OCNumerator/MAX(0.0000001%,WF.OCRatio)),N(NOT(OR(WF.OCNumerator/MAX(1, WF.OCDenominator.WF.INT.UpToCov)>=WF.OCRatio,WF.OCDenominator.WF.INT.UpToCov=0)))),SUM(WF.PmtSequenceOutstanding.UpTotOC.WF.INT))"
        ThisWorkbook.Names.Add "WF.PmtSequence.OC.Cure.NOMINAL.Pmts.WF.INT", RefersTo:="=--(MMULT(WF.PmtSequenceOutstanding.UpTotOC.WF.INT, WF.NPS.OrderMatrix) <= MIN(SUM(WF.ProceedsAvailable.INT, -WF.IC.Cure.WF.INT), WF.OC.Cure.NOMINAL.WF.INT)) * --(WF.PmtSequenceOutstanding.UpTotOC.WF.INT > 0) * (MIN(SUM(WF.ProceedsAvailable.INT, - WF.IC.Cure.WF.INT), WF.OC.Cure.NOMINAL.WF.INT) - MMULT(WF.PmtSequenceOutstanding.UpTotOC.WF.INT, WF.NPS.OrderMatrix)) * WF.ProRata.RANGE"
        
        ThisWorkbook.Names.Add "WF.OC.Cure.NPS.WF.INT", RefersTo:="=IF(WF.PmtSequenceOutstanding.UpTotOC.WF.INT<WF.PmtSequence.OC.Cure.NOMINAL.Pmts.WF.INT, WF.PmtSequenceOutstanding.UpTotOC.WF.INT, WF.PmtSequence.OC.Cure.NOMINAL.Pmts.WF.INT)"
        ThisWorkbook.Names.Add "WF.OC.Cure.WF.INT", RefersTo:="=SUMPRODUCT(WF.OC.Cure.NPS.WF.INT)"
    Main Formulas: IC2 and OC2

        ThisWorkbook.Names.Add "WF.PmtSequence.Outstdng.WF.PRIN", RefersTo:=WorksheetFunction.Substitute("=WF.PmtSequence.RANGE-SUMIFS(WF.Pmts.UpToItem.WF.PRIN,WF.Pmts.UpToItem.WF.PRIN.HEADER,WF.NPS&CHAR(10)&""Paid"")-SUMIFS(" & Application.ConvertFormula(InterestWaterfallRANGE, xlA1, xlR1C1, , ThisWorkbook.Sheets("Int.WF").Range(IntWFStart)) & "," & Application.ConvertFormula(InterestWaterfallHEADER, xlA1, xlR1C1, , ThisWorkbook.Sheets("Int.WF").Range(IntWFStart)) & ", WF.NPS&CHAR(10)&""Paid"")", "[" & ThisWorkbook.Name & "]", "")
    
        'PRINCIPAL WF Cures
        'I/C
        ThisWorkbook.Names.Add "WF.PmtSequence.IC.Cure.NOMINAL.Pmts.WF.PRIN", RefersTo:="=0" '--(MMULT(IFERROR(WF.PmtSequence.Outstdng.WF.PRIN/WF.PI.Ratio.RANGE,0),WF.NPS.OrderMatrix)<=SUM(WF.IC.Cure.NOMINAL,-WF.IC.Cure.Pmts.IntDollars.WF.INT))*WF.CoverageClasses.NPS*(SUM(WF.IC.Cure.NOMINAL,-WF.IC.Cure.Pmts.IntDollars.WF.INT)-(MMULT(IFERROR(WF.PmtSequence.Outstdng.WF.PRIN/WF.PI.Ratio.RANGE,0),WF.NPS.OrderMatrix)))*--(WF.ProRata.RANGE>0)*WF.ProRata.RANGE*WF.PI.Ratio.RANGE"
        ThisWorkbook.Names.Add "WF.PmtSequence.IC.Cure.Bal.WF.PRIN", RefersTo:="=0" '--(MMULT(IFERROR(WF.PmtSequence.Outstdng.WF.PRIN/WF.PI.Ratio.RANGE,0),WF.NPS.OrderMatrix)<=SUM(WF.IC.Cure.NOMINAL,-WF.IC.Cure.Pmts.IntDollars.WF.INT))*WF.CoverageClasses.NPS*WF.PmtSequence.Outstdng.WF.PRIN"
        ThisWorkbook.Names.Add "WF.PmtSequence.IC.Cure.WF.PRIN", RefersTo:="=0" 'IF(WF.PmtSequence.IC.Cure.Bal.WF.PRIN<WF.PmtSequence.IC.Cure.NOMINAL.Pmts.WF.PRIN,WF.PmtSequence.IC.Cure.Bal.WF.PRIN,WF.PmtSequence.IC.Cure.NOMINAL.Pmts.WF.PRIN)"
        ThisWorkbook.Names.Add "WF.IC.Cure.NPS.WF.PRIN", RefersTo:="=0" '--(MMULT(WF.PmtSequence.IC.Cure.WF.PRIN, WF.NPS.OrderMatrix)<=MIN(SUM(WF.PmtSequence.IC.Cure.WF.PRIN),WF.ProceedsAvailable.PRIN))*--(WF.PmtSequence.IC.Cure.WF.PRIN>0)*(MIN(SUM(WF.PmtSequence.IC.Cure.WF.PRIN),WF.ProceedsAvailable.PRIN)-MMULT(WF.PmtSequence.IC.Cure.WF.PRIN,WF.NPS.OrderMatrix))*WF.ProRata.RANGE"
        ThisWorkbook.Names.Add "WF.IC.Cure.WF.PRIN", RefersTo:="=SUM(WF.IC.Cure.NPS.WF.PRIN)"
        
        'O/C
        ThisWorkbook.Names.Add "WF.PmtSequenceOutstanding.UpTotOC.WF.PRIN", RefersTo:="=(WF.PmtSequence.Outstdng.WF.PRIN - WF.IC.Cure.NPS.WF.PRIN)"
        ThisWorkbook.Names.Add "WF.OCDenominator.WF.PRIN.UpToCov.NPS", RefersTo:="=(WF.PmtSequenceOutstanding.UpTotOC.WF.PRIN*--((WF.NPS.Type=""DEFERRED"")+(WF.NPS.Type=""PAR""))*WF.CoverageClasses.DENOM)"
        ThisWorkbook.Names.Add "WF.OCDenominator.WF.PRIN.UpToCov", RefersTo:="=SUM(WF.OCDenominator.WF.PRIN.UpToCov.NPS)"
        ThisWorkbook.Names.Add "WF.OCNumerator.WF.PRIN.UpToCov", RefersTo:="=SUM(WF.OCNumerator, -WF.IC.Cure.WF.PRIN)"
        ThisWorkbook.Names.Add "WF.OC.Cure.NOMINAL.WF.PRIN", RefersTo:="=MIN(PRODUCT((WF.OCDenominator.WF.PRIN.UpToCov*WF.OCRatio-WF.OCNumerator.WF.PRIN.UpToCov)/MAX(0.000001%,(WF.OCRatio-1)), N(NOT(OR(WF.OCNumerator.WF.PRIN.UpToCov/MAX(1, WF.OCDenominator.WF.PRIN.UpToCov)>=WF.OCRatio,WF.OCDenominator.WF.PRIN.UpToCov=0)))), SUM(WF.OCDenominator.WF.PRIN.UpToCov.NPS))"
        ThisWorkbook.Names.Add "WF.PmtSequence.OC.Cure.NOMINAL.Pmts.WF.PRIN", RefersTo:="=--(MMULT(WF.PmtSequenceOutstanding.UpTotOC.WF.PRIN, WF.NPS.OrderMatrix) <= MIN(SUM(WF.ProceedsAvailable.PRIN, -WF.IC.Cure.WF.PRIN), WF.OC.Cure.NOMINAL.WF.PRIN)) * --(WF.PmtSequenceOutstanding.UpTotOC.WF.PRIN > 0) * (MIN(SUM(WF.ProceedsAvailable.PRIN, - WF.IC.Cure.WF.PRIN), WF.OC.Cure.NOMINAL.WF.PRIN) - MMULT(WF.PmtSequenceOutstanding.UpTotOC.WF.PRIN, WF.NPS.OrderMatrix)) * WF.ProRata.RANGE"
        
        ThisWorkbook.Names.Add "WF.OC.Cure.NPS.WF.PRIN", RefersTo:="=IF(WF.PmtSequenceOutstanding.UpTotOC.WF.PRIN<WF.PmtSequence.OC.Cure.NOMINAL.Pmts.WF.PRIN, WF.PmtSequenceOutstanding.UpTotOC.WF.PRIN, WF.PmtSequence.OC.Cure.NOMINAL.Pmts.WF.PRIN)"
        ThisWorkbook.Names.Add "WF.OC.Cure.WF.PRIN", RefersTo:="=SUM(WF.OC.Cure.NPS.WF.PRIN)"
    Last edited by cmore; 10-01-2015 at 07:59 AM.

Thread Information

Users Browsing this Thread

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

Similar Threads

  1. [SOLVED] Efficiency of calculation as a function of number of worksheets
    By GIS2013 in forum Excel General
    Replies: 8
    Last Post: 10-18-2015, 05:06 PM
  2. Optimization and Efficiency
    By zhensley in forum Excel Formulas & Functions
    Replies: 6
    Last Post: 08-26-2014, 10:29 AM
  3. Search efficiency
    By Jordan Kidd in forum Excel Programming / VBA / Macros
    Replies: 7
    Last Post: 08-14-2010, 05:25 PM
  4. Efficiency
    By gtmeloney in forum Excel Programming / VBA / Macros
    Replies: 4
    Last Post: 08-06-2009, 11:10 AM
  5. Efficiency… Efficiency… Efficiency…
    By rakeshplb in forum Excel Programming / VBA / Macros
    Replies: 1
    Last Post: 05-30-2009, 08:37 AM
  6. For loop efficiency
    By excel09 in forum Excel Programming / VBA / Macros
    Replies: 8
    Last Post: 04-23-2009, 02:25 PM
  7. Efficiency using IF and OR
    By davegugg in forum Excel Programming / VBA / Macros
    Replies: 12
    Last Post: 01-30-2009, 08:27 PM

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