Willow Solutions, Inc. Leaf graphic
Willow Solutions, Inc. Software that thinks like you do
News
Products
Case Studies
Tips
Willow Talk
Clients
Partners
Job Openings
Home

Willow Solutions, Inc.

 
 

The Spreadsheet Optimization Process

The process of optimizing spreadsheets focuses on three main areas:

  • Improving Performance

  • Increasing Stability

  • Enhancing Maintainability

There are many known problems that affect spreadsheet performance, stability and maintainability:

  • Unpredictable asynchronous calculations significantly increase CPU usage and reduce Excel's responsiveness to user input.

  • Many Excel workbooks contained links to external workbooks. Updating these links creates another series of calculations, reduces memory by opening another workbooks and creates unnecessary network traffic if the external workbook is located on a network drive.

  • Numerous calls to the same function nested within other functions throughout numerous cells in an Excel worksheet causes redundant and unnecessary calculations.

  • Parsing values from Reuters and Telerate pages within individual cells of an Excel worksheet is error prone and impossible to maintain.

  • Many macros written to update and maintain financial models were recorded and inefficient and do not work.

  • Most of the Excel workbooks have evolved over time and numerous changes have occurred. As a result many of the named ranges are no longer valid and refer #REF. These spurious ranges make the worksheet unstable and subject to crashing.

  • Use of volatile functions, which recalculate whenever calculation occurs in any cells on the worksheet. Their use is a contributing factor to excessive calculation within a spreadsheet.

Willow Solutions has developed a series of procedures used to solve these problems.

Use RtUpdate to Eliminate Unpredictable Calculations

  • RtUpdate retrieves real-time financial information at a specified frequency.

  • RtUpdate retrieves real-time data into a table. The cell containing the RtUpdate function displays the time of the last update. When real-time data changes the entire table is updated a specified interval all at once.

  • The RtUpdate formula has an argument which can reference a single cell and allow the user to easily turn all updating of real-time financial information on and off. We have added a Control Panel worksheet to many of the optimized worksheets, which allow the user to stop real-time updates as well as control contributions. It also standardizes date, time and market maker name for contributions.

Use DDE Arrays to Eliminate Unpredictable Calculations

  • The Reuters Personal Data Dictionary (PDD) application, which is the server application to bring in real-time data into Excel, has an updates setting which allows real-time data to be updated at a specified frequency.

  • The PDD update settings allow the user to control the rate at which real-time data is updated in all open workbooks. Setting the worksheets to update at a specified interval allows the user to control when updates occur. Besides greatly reducing the amount of calculation, it allows the user to enter data on the worksheets and work with other applications.

  • Using a DDE array formula retrieves real-time data into several cells with a single link, similar to the RtUpdate table. When real-time data changes the entire group of cells are updated all at once.

  • The DDE array formula creates a single link for real-time data in many cells. It reduces the number of external links and reduces unnecessary network traffic.

Remove Links to External Workbooks

  • Making a workbook self-contained by removing links to external workbooks reduces strain both on the workstation and network resources. In order to update a link to an external workbook it is necessary to open the workbook. This reduces the amount of memory available and causes another series of calculations.

  • To alleviate these problems, we have imported the linked section of external workbooks into the dependent workbook.

Eliminate Redundant Calculations

  • Rather than have numerous cells calculate the same function, such as TODAY() many times, we replaced the function within the cell or nested within another function with a reference to a cell which contained the calculated value of the function.

  • Using this method allows the function to be calculated just once rather than over and over again when it is nested within a formula.

Moving All Real-time Page Data to Single Page

  • To make the financial models used in Excel workbooks less error prone and to allow several users to work with to understand, and to maintain, real-time page data should be moved to a single column on a separate worksheet.

  • The formulas to perform the parsing should be put in columns adjoining the column with the real-time page data.

  • These cells should be named and then referenced by financial functions that perform calculations on the parsed data.

  • A template has been created to organize the page-based data.

Organize and Rewrite Existing Macros

  • Recorded macros use cell selection, do not use error checking and do not turn off screen updating. These macros will usually not work correctly or not work at all if worksheets are altered.

  • These macros were rewritten to remove these inefficiencies. In some cases they were no longer being used and were eliminated.

  • Since many perform the same functions such as copying formula values to various sections of the workbook, they can be replaced with a common set of tools.

Remove Invalid Range Names

  • All range names which refer to #Ref need to be removed.

  What's New | Products | Case Studies | Willow Tips | Willow Talk | Clients | Partners | Job Openings | Home
  Terms of UsePrivacy Statement

Willow Solutions, Inc.85 Willow Street, New Haven CT 06511 USA203.777.5634info@willowsolutions.com