{"text_format":"1","workbook":"xlsx","n_sheets":3,"sheets":["GPBT","Notes","Report"],"not_rendered":{"charts":2,"images":2,"macros":1,"external_links":0,"defined_names":25,"comments":0,"pivot_tables":0},"unopened":[{"sheet":"GPBT","index":0,"reason":"not_a_worksheet"}],"bounds":{"document_bytes":16777216,"sheet_cells":100000,"rows_first":2000,"rows_last":500,"rows_between":2000,"halvings":0,"cell_chars":16384,"cell_head_chars":4096},"cells_cut":0,"cells_raw":0,"read":"whole","date_system":"1900"}

{"sheet":"Notes","index":1,"n_rows":247,"n_cols":14,"rows_kept":247,"cut":false,"hidden":false,"merged":[[242,9,242,13],[81,5,81,13],[83,5,83,13],[60,5,60,13],[67,5,67,13],[68,5,68,13],[70,5,70,13],[79,5,79,13],[214,5,214,13],[239,9,239,13],[240,9,240,13],[63,5,63,13],[89,5,89,13],[77,5,77,13],[10,5,10,13],[14,5,14,13],[12,5,12,13],[29,5,29,13],[35,5,35,13],[246,9,246,13],[40,5,40,13],[43,5,43,13],[56,5,56,13],[41,5,41,13],[45,5,45,13],[173,5,173,13],[112,5,112,13],[91,5,91,13],[85,5,85,13],[87,5,87,13],[237,9,237,13],[75,5,75,13],[65,5,65,13],[61,5,61,13],[244,9,244,13]]}
[]
[null,null,null,null,"THIS GOOD PRACTICE BUILD TOOLKIT IS FOR GUIDANCE ONLY. PLEASE REMOVE GCF BRANDING AND UPDATE TO REFLECT THE BRANDING OF YOUR CONTRACTING AUTHORITY PRIOR TO USING IT."]
[null,null,null,null,{"$f":"rngMarking","v":"OFFICIAL"}]
[]
[null,null,null,null,{"$f":"rngProjName","v":"SCM Good Practice Build Toolkit"}]
[null,null,null,null,{"$f":"MID(CELL(\"filename\",B2),FIND(\"]\",CELL(\"filename\",B2))+1,256)&\" Sheet\"","v":"Notes Sheet"}]
[]
[]
[null,null,null,null,"Context"]
[]
[null,null,null,null,null,"The requirement to produce a Should Cost Model (SCM) when making sourcing decisions and contracting outside suppliers for the delivery of public services is set out within the Sourcing Playbook (see Chapter 3) and for public works projects or programmes within the Construction Playbook (see Chapter 5). To support implementation of the policy and help contracting authorities improve their modelling capability, the Cabinet Office Sourcing Programme has produced a number of publications:"]
[]
[null,null,null,null,null,"• SCM Guidance Note – outlines what SCMs are, when and why contracting authorities should produce them, and key considerations around developing and/or procuring them;\n\n• SCM Development Guidance – provides contracting authorities with guidance on using internal resources to design, develop, manage, test and govern SCMs; and\n\n•SCM Technical Build Guidance – guidance, based on good practice principles for building SCMs. It is technical in nature and aimed at people who will be building and testing SCMs."]
[]
[null,null,null,null,null,"To further support contracting authorities in the production of SCMs, the Sourcing Programme have also developed a suite of SCM Tools and Templates, which includes this Good Practice Build Toolkit."]
[]
[null,null,null,null,null,"References:"]
[null,null,null,null,null,null,"Sourcing Playbook"]
[null,null,null,null,null,null,"Construction Playbook"]
[null,null,null,null,null,null,"SCM Guidance Note"]
[null,null,null,null,null,null,"SCM Development Guidance"]
[null,null,null,null,null,null,"SCM Technical Build Guidance"]
[null,null,null,null,null,null,"SCM Tools & Templates"]
[]
[null,null,null,null,null,"Practitioners should also consult existing good practice, including HM Treasury’s:"]
[null,null,null,null,null,null,"Macpherson report"]
[null,null,null,null,null,null,"Aqua Book"]
[null,null,null,null,null,null,"Green Book"]
[]
[null,null,null,null,null,"You should consult the Cabinet Office Sourcing Programme for support with this SCM Good Practice Build Toolkit, for further information on Should Cost Modelling or before planning an SCM for complex services, projects or programmes via:"]
[null,null,null,null,null,"sourcing.programme@cabinetoffice.gov.uk"]
[]
[]
[null,null,null,null,"What is this Good Practice Build Toolkit for?"]
[]
[null,null,null,null,null,"This Good Practice Build Toolkit is used to help structure and, through automation, help expedite the review of an SCM’s adherence to good practice. It can be used by quality assurers as part of an SCM's Quality Assurance (QA) and testing process to support the performance of a Good Practice Critique.\n\nEmbedding good practice into the development of a model serves to improve the overall quality of SCMs, reduce the time taken to develop and test them, enhance their usability, improve transparency, and help manage the risk of errors. Adherence to good practice provides benefit to the user community and contracting authorities as a whole.\n\nIt can be useful to undertake a Good Practice Critique as part of QA and testing and document and share the results with the model developer (for any remedial action) and other stakeholders as appropriate. See SCM Central Government Guidance for further information on QA and testing of SCMs.\n\nThis Good Practice Build Toolkit is aligned to the SCM Technical Build Guidance and users should familiarise themselves with this guidance before undertaking a Good Practice Critique. Note that this Good Practice Build Toolkit is intended to support the review of Microsoft Excel-based SCM's although it may have utility for structuring the review of SCMs developed in other software platforms (e.g. Google Sheets).\n\n A reasonable degree of proficiency in MS Excel is required to use this Good Practice Toolkit. It is the user’s responsibility to ensure that they are suitably qualified and experienced so that they are able to rely on the outputs of the Toolkit."]
[]
[]
[null,null,null,null,"Actions prior to using this Good Practice Build Toolkit?"]
[]
[null,null,null,null,null,"Prior to using this Good Practice Build Toolkit it should be customised for use:"]
[null,null,null,null,null,"1) Update Branding - This Good Practice Build Toolkit uses GCF branding for illustrative purposes. Please remove GCF branding and update to the branding of your contracting authority prior to using it (see 'How do I modify the Good Practice Build Toolkit?' below for details of how to unlock the Good Practice Build Toolkit to enable editing)."]
[]
[null,null,null,null,null,"2) Remove Dummy Data - The Report sheet within this Good Practice Build Toolkit includes example dummy data. Please delete this data prior to using it (in the 'RAG Ratings', 'General Observations' and 'Examples' Columns of the Report sheet)."]
[]
[null,null,null,null,null,"2) Add Details - Add the Project Name (the name of the associated project), the name of the Target Workbook (the SCM/Model/Spreadsheet/Workbook/File that is being reviewed), the name of the Quality Assurer (the person undertaking the review), the date of the review, and update the Protective Marking:"]
[]
[null,null,null,null,null,null,"Project Name:",null,null,null,"SCM Good Practice Build Toolkit"]
[]
[null,null,null,null,null,null,"Target Workbook:",null,null,null,"ProjectX_SCM_v1.0.xlsm"]
[]
[null,null,null,null,null,null,"Quality Assurer:",null,null,null,"Joe Blogs"]
[]
[null,null,null,null,null,null,"Review Date:",null,null,null,"2021-04-01"]
[]
[null,null,null,null,null,null,"Protective Marking:",null,null,null,"OFFICIAL"]
[]
[]
[null,null,null,null,"How do I use the Good Practice Build Toolkit?"]
[]
[null,null,null,null,null,"This Good Practice Build Toolkit provides structure to the performance of a Good Practice Critique of an SCM. It includes a number of Diagnostics tools and other automated aspects to support the process (see 'How do I use the Diagnostics tools?' below). Whilst the automated aspects aid performance, this Good Practice Build Toolkit can be used without utilising them (with reduced functionality) if required (e.g. if macros are not enabled). The basic steps are summarised as follows:"]
[null,null,null,null,null,"1) Open the Target Workbook and update the Details (see above)\nNavigate to the Report sheet and:\n2) Choose the Good Practice Point to review the SCM against (see Column J)\n3) Run any associated Diagnostics tools to help inform the review (Column S)\n4) Assess the SCM's adherence and apply an appropriate RAG Rating (Column Q)\n5) Add a General Observation to support the selected RAG Rating (Column V)\n6) Add specific Examples, if relevant, to illustrate the rating/observation (Column X)\n7) Repeat steps 2-7 for all Good Practice Points, including any User Defined Good Practice Points (Column J)"]
[]
[null,null,null,null,null,"Note: Existing RAG Ratings, Diagnostics tools results, General Observations and Examples can be cleared by double-clicking the 'Clear RAG', 'Clear Diagnostics', 'Clear General Observations' and 'Clear Examples' buttons (displayed with red text) at the top of the Report sheet. This action cannot be undone."]
[]
[null,null,null,null,null,"The Report sheet lists a range of Good Practice Points (Column J) against which a quality assurer can review an SCM and assign a RAG Rating (Column Q). See Technical Build Guidance for more information on each of the Good Practice Points set out on the Report sheet."]
[]
[null,null,null,null,null,"A General Observation (Column V), in relation to the applied RAG Rating, can be added for each Good Practice Point based on the quality assurer's observations. To support the drafting of General Observations there are a set of in-built 'Standard Observations' (Columns L:O) for each RAG Rating. These are illustrative in nature and, if used, should be tailored according to the actual SCM being reviewed. To add the Standard Observation using the in-built macros simply double-click the yellow General Observation cell for the corresponding Good Practice Point. Note that:"]
[null,null,null,null,null,"• To add the in-built Standard Observation to the yellow General Observation cell a RAG Rating must be selected for the Good Practice Point;\n• Once the Standard Observation has been added to the yellow General Observation cell it should be tailored appropriately to the SCM being reviewed; \n• If the yellow General Observation cell already contains text the user will be prompted to overwrite it with the Standard Observation; and\n• If macros are not enabled the Standard Observation can be copied manually (from Columns L:O on the Report sheet) to the General Observation cell.\nNote: To change the in-built Standard Observations (sored in Columns L:O on Report sheet) see 'How do I modify the Good Practice Build Toolkit?' below."]
[]
[null,null,null,null,null,"Specific Examples (Column X) that help to illustrate and support the RAG Rating/General Observation can be added, as appropriate, for each Good Practice Point. To help speed up the process of adding references to specific cell ranges within the SCM they can be added, using the in-built macros, by double-clicking the yellow Examples cell for the corresponding Good Practice Point. This will open up a range selection window and (on navigating to the SCM being reviewed, selecting the illustrative cell range and selecting the 'OK' button) add the corresponding Sheet Name and Cell Reference to the end of any existing text within the Examples cell. This process can be repeated multiple times to add multiple illustrative cell reference examples - each being concatenated to the end of the existing text in the Examples cell. Note, if macros are not enabled cell references will need to be added manually."]
[]
[]
[null,null,null,null,"How do I use the Diagnostics tools?"]
[]
[null,null,null,null,null,"The in-built Diagnostics tools require the use of VBA and macros must be enabled to run them. To enable macros:\n\nWindows - 1) Click the File tab; 2) Click Options; 3) Click Trust Centre, and then click Trust Centre Settings; 4) In the Trust Centre, click Macro Settings; 5) Check Trust access to the VBA project object model to enable access to Visual Basic Projects; and 6) Click OK.\n\nMacintosh - 1) Click the Excel menu; 2) Click Preferences…; 3) Click Security under Sharing and Privacy; 4) Ensure ‘Disable all macros without notification’ is not selected under Macro Security; 5) Click Trust access to the VBA project object model; and 6) Close the window."]
[]
[null,null,null,null,null,"The in-built Diagnostics tools can be used to inform the quality assurer's assessment of an SCM's adherence to some of the listed Good Practice Points on the Report sheet. The Diagnostics tools can be run individually, for a specific Good Practice Point, or run collectively (for all Good Practice Points that have an associated Diagnostics tool). Note that, depending on the size of the SCM being reviewed, it may take a number of minutes to run all of the Diagnostics tools collectively."]
[]
[null,null,null,null,null,"The various Diagnostics tools (see 'What do the Diagnostics tools do?' below) are accessible via the grey buttons located in Column S of the Report sheet. Following activation, the results from running one of the Diagnostics tools are displayed in the lilac coloured cells in Column T, adjacent to the corresponding grey button."]
[]
[null,null,null,null,null,"Prior to running one (or all) of the Diagnostics tools it is necessary to select the SCM being reviewed from the list of open files. Note that the SCM being reviewed must be open in order to select it from the window and it must be unlocked to run some of the Diagnostics tools. To run one (or all) of the Diagnostics tools:"]
[]
[null,null,null,null,null,"1) Ensure that the SCM being reviewed (the Target Workbook) is open, that the workbook itself, each of its sheets (including any hidden sheets), and the VBA Project (if applicable) are unprotected:","1)"]
[]
[null,null,null,null,null,"A) To unprotect the Target Workbook select 'Review' / ' Protect Workbook…'; if a password is set you will need to enter it and click 'OK'. Note that if the Target Workbook is already unprotected you will be prompted for protection options - click 'Cancel' as the Target Workbook is already unprotected."]
[]
[null,null,null,null,null,"B) To unprotect a sheet in the Target Workbook, right-click its Tab Name (bottom of the window) and select 'Unprotect sheet...'; if a password is set you will need to enter it and click 'OK'. Note that if the sheet is already unprotected 'Protect Sheet…' will be displayed (c.f. 'Unprotect Sheet…') and no further action is required. Note that each sheet in the Target Workbook (including any hidden sheets) will need to be unprotected individually for all of the Diagnostics tools to operate as intended."]
[]
[null,null,null,null,null,"C) To unprotect the VBA Project, select 'Developer' / 'Visual Basic'; double-click the name of the VBA Project in the VBA Project window and enter the password in the pop-up window (note if the VBA Project is not protected you will not be prompted for a password)."]
[]
[null,null,null,null,null,"2) Activate the Target Workbook selection window and select the Target Workbook from the list of open files as follows:","1)"]
[]
[null,null,null,null,null,null,"A) Double-click the grey 'Set Target Wbk' button in Cell T9 on the Report sheet; and",null,null,null,null,null,"Set Target Wbk"]
[]
[null,null,null,null,null,null,"B) Select the Target Workbook within the pop-up window and click the 'OK' Button.",null,null,null,null,null,"OK"]
[]
[null,null,null,null,null,null,"Note: If this Good Practice Build Toolkit is closed, the Target Workbook is modified, or if there is a need to change the workbook being tested, the Target workbook will need to be re-set."]
[]
[null,null,null,null,null,"3A) To run all Diagnostics tools double-click the 'chkAll' button in Cell S9 on the Report sheet:",null,null,null,null,null,null,"ChkAll"]
[]
[null,null,null,null,null,"3B) To run a specific Diagnostics tool double-click its grey button in Column S (e.g. ChkVBA):",null,null,null,null,null,null,"ChkVBA"]
[]
[null,null,null,null,null,"4) Review the Diagnostic tool results in the adjacent lilac coloured cell (e.g. for ChkVBA):",null,null,null,null,null,null,"No VBA code was found"]
[]
[null,null,null,null,null,"Note: The results from running a Diagnostics tool will overwrite any existing results."]
[null,null,null,null,null,"Note: If formulas in the Target Workbook are changed it will need to be re-set (click 'Set Target Wbk' button) before re-running the Diagnostics tools to see the impact of the changes."]
[]
[]
[]
[null,null,null,null,"What do the Diagnostics tools do?"]
[]
[null,null,null,null,null,"A brief summary of what each of the in-built Diagnostics tools do is provided below (see 'How do I use the Diagnostics tools?' above for information on how to run them, either individually or collectively):"]
[]
[null,null,null,null,null,null,null,null,"Tool",null,"Tool Description"]
[]
[null,null,null,null,null,null,null,null,null,"ChkCF","Lists the number of individual cells, by worksheet, that contain Conditional Formatting"]
[]
[null,null,null,null,null,null,null,null,null,"ChkSpace","Lists the names of all of the sheets that contain a space (\" \") within the sheet name"]
[]
[null,null,null,null,null,null,null,null,null,"ExtLinks","Lists the names of external links found in the workbook (excludes links in VBA code)"]
[]
[null,null,null,null,null,null,null,null,null,"ChkVBA","Checks if the workbook contains VBA and counts the number of lines of VBA code"]
[]
[null,null,null,null,null,null,null,null,null,"ChkFuncs","Checks and counts the number of custom functions found (N/A if there is no VBA code)"]
[]
[null,null,null,null,null,null,null,null,null,"ChkHidden","Checks for hidden sheets and worksheets with hidden rows or columns in the used range"]
[]
[null,null,null,null,null,null,null,null,null,"ChkFormats","Lists all of the number formats, including custom formats, in use within the workbook"]
[]
[null,null,null,null,null,null,null,null,null,"ChkMerged","Lists all worksheets within the workbook that contain cells that are merged together"]
[]
[null,null,null,null,null,null,null,null,null,"UnnamedLinks","Lists examples of external links that include cell references as opposed to named ranges"]
[]
[null,null,null,null,null,null,null,null,null,"ChkDV","Checks for cells that have Data Validation and counts the number on each worksheet"]
[]
[null,null,null,null,null,null,null,null,null,"ChkShort","Lists the top 10 formula by both number of operators (e.g. +, -, *) and formula length"]
[]
[null,null,null,null,null,null,null,null,null,"ChkArray","Counts and shows location of array-based formulas (bounded by {curly brackets}) by worksheet"]
[]
[null,null,null,null,null,null,null,null,null,"ChkSelfRef","Lists worksheets and example cell ranges of formulas that include their own sheet reference"]
[]
[null,null,null,null,null,null,null,null,null,"ChkThreeD","Lists worksheets and example cell ranges of calculations that link to other sheets"]
[]
[null,null,null,null,null,null,null,null,null,"ChkCirc","Checks if the workbook contains circular references (cells that reference themselves)"]
[]
[null,null,null,null,null,null,null,null,null,"ChkConst","Lists worksheets with hard-wired values in formulas and provides example cell ranges"]
[]
[null,null,null,null,null,null,null,null,null,"ChkClutter","Lists the top 10 formula by both number of brackets '(' and number of dollar '$' signs"]
[]
[null,null,null,null,null,null,null,null,null,"ChkNPV","Lists worksheets that use Excel's 'NPV' function and provides example cell ranges"]
[]
[null,null,null,null,null,null,null,null,null,"ChkOFFSET","Lists worksheets that use the 'OFFSET' formula and provides example cell ranges"]
[]
[null,null,null,null,null,null,null,null,null,"ChkINDIRECT","Lists worksheets that use the 'INDIRECT' formula and provides example cell ranges"]
[]
[null,null,null,null,null,null,null,null,null,"ChkCHOOSE","Lists worksheets that use the 'CHOOSE' formula and provides example cell ranges"]
[]
[null,null,null,null,null,null,null,null,null,"ChkERR","Lists worksheets with formulas that include 'ERR' (e.g. IFERROR) and provides example cell ranges"]
[]
[null,null,null,null,null,null,null,null,null,"ChkNames","Lists all of the visible (including dynamic) named ranges found in the workbook"]
[]
[null,null,null,null,null,null,null,null,null,"ChkPivot","Counts the number of Pivot Tables found and lists the worksheets that contain them"]
[]
[null,null,null,null,null,null,null,null,null,"ChkTable","Counts the number of Tables found and lists the worksheets that contain them"]
[]
[null,null,null,null,null,null,null,null,null,"ChkLocked","Counts, by worksheet, the number of unlocked cells that contain formulas"]
[]
[]
[]
[]
[null,null,null,null,"How do I modify the Good Practice Build Toolkit?"]
[]
[null,null,null,null,null,"This Good Practice Build Toolkit is protected to help reduce the risk of inadvertent corruption when in use. It will need to be unprotected in order to, for example:\n• Update the GCF branding used in this Good Practice Build Toolkit to the branding of your contracting authority;\n• Tailor the in-built Standard Observations (stored in Columns L:O of the Report sheet) to meet your own needs;\n• To add User Defined Good Practice Points (see below for how to Add / Delete User Defined Good Practice Points)\n\nNote: Care should be exercised if making structural changes to the Good Practice Build Toolkit as it may impair the operation of the Diagnostics tools and other automated aspects (that interface with MS Excel via Named Ranges).\n\nFollowing any modification it is recommended that the Good Practice Build Toolkit is re-protected. Unprotecting and Protecting can be undertaken via the button on the GPBT sheet or manually, as described below:"]
[]
[null,null,null,null,null,"Using the button to Unprotect and Protect this Good Practice Build Toolkit:"]
[null,null,null,null,null,null,"1)","Navigate to the 'GPBT' sheet in this Good Practice Build Toolkit;"]
[]
[null,null,null,null,null,null,"2)","Click the 'Unprotect' button (bottom right corner of the sheet)"]
[null,null,null,null,null,null,"Unprotect",null,null,"The caption will change to 'Protect' thereafter"]
[]
[null,null,null,null,null,null,"3)","Enter the Password in the form that will open up"]
[null,null,null,null,null,null,null,null,"By default no password has been set (i.e. \"\")"]
[null,null,null,null,null,null,null,null,"Click 'OK' to Unprotect each of the sheets "]
[]
[null,null,null,null,null,null,"4)","Make the required changes and navigated back to the 'GPBT' sheet"]
[]
[null,null,null,null,null,null,"5)","Click the 'Protect' button (bottom right corner of the sheet)"]
[null,null,null,null,null,null,"Protect",null,null,"The caption will change to 'Unprotect' thereafter"]
[]
[null,null,null,null,null,null,"6)","Enter a Password in the form that opens up"]
[null,null,null,null,null,null,null,null,"It is recommended that no password is used (i.e. \"\")"]
[null,null,null,null,null,null,null,null,"Click 'OK' to Protect each of the sheets in the Good Practice Build Toolkit"]
[]
[null,null,null,null,null,"Manually Unprotect and Protect this Planning Template:"]
[null,null,null,null,null,null,"1)","Right-click the sheet that you want to modify"]
[]
[null,null,null,null,null,null,"2)","Select 'Unprotect Sheet…' from the popup menu"]
[null,null,null,null,null,null,null,null,"By default (no password has been set) the sheet will unlock"]
[null,null,null,null,null,null,null,null,"If a password has been set (not recommended):"]
[null,null,null,null,null,null,null,null,null,"Enter the password in the pop-up form"]
[null,null,null,null,null,null,null,null,null,"Click 'OK' to Unprotect the selected sheet "]
[]
[null,null,null,null,null,null,"3)","Make the required changes to the unprotected sheet"]
[]
[null,null,null,null,null,null,"4)","Right-click the sheet that you want to re-protect"]
[]
[null,null,null,null,null,null,"5) ","Select 'Protect Sheet…' from the popup menu"]
[]
[null,null,null,null,null,null,"6)","Enter a Password in the form that will open up"]
[null,null,null,null,null,null,null,null,"It is recommended that no password is used (i.e. \"\")"]
[null,null,null,null,null,null,null,null,"Click 'OK' to Protect the selected sheet "]
[]
[null,null,null,null,null,"Adding User Defined Good Practice Points "]
[null,null,null,null,null,"The Good Practice Points on the Report sheet are based on good practice set out within the SCM Technical Build Guidance. It is recognised, however, that users of this Good Practice Build Toolkit may want to add additional User Defined Good Practice Points against which an SCM can be evaluated. These can be added to the bottom of the existing list of Good Practice Points as follows:"]
[null,null,null,null,null,null,"1)","Unprotect the Report sheet in order to enable new rows to be added (see guidance above)"]
[]
[null,null,null,null,null,null,"2) ","Add new rows to the bottom of the existing list using +/- buttons or manually as follows:"]
[]
[null,null,null,null,null,null,null,"Use the +/- buttons (in Row 10 of the Report sheet) to add/delete rows"]
[null,null,null,null,null,null,null,"+","-","Click the '+' button to add a row and the '-' button to delete one"]
[null,null,null,null,null,null,null,null,null,"Note that once a row has been deleted the action cannot be undone"]
[null,null,null,null,null,null,null,null,null,"Note that existing Good Practice Points cannot be deleted with the '-' button"]
[null,null,null,null,null,null,null,"Manually add/delete rows (e.g., if macros are not available):"]
[null,null,null,null,null,null,null,null,"Right-click the row number of one of the existing Good Practice Point in the list and select 'Copy' from the popup menu"]
[null,null,null,null,null,null,null,null,"Right-click the row number of the grey line (see below) at the bottom of the list and select 'Insert Copied Cells' from the popup menu"]
[null,null,null,null,null,null,null,null,null,">>>> Insert new rows ABOVE this line (if manually adding new User Defined Good Practice Points)"]
[null,null,null,null,null,null,null,null,"Delete the copied content (with the exception of the row reference formula, labelled 'Ref', in Column H)"]
[]
[null,null,null,null,null,null,"3) ","Update the (uncoloured) cells with the appropriate description for the new User Defined Good Practice Point"]
[]
[null,null,null,null,null,null,"4) ","Protect the Report sheet in order to reduce the risk of inadvertent corruption (see guidance above)"]
[]
[]
[]
[null,null,null,null,"What does everything mean?"]
[]
[null,null,null,null,null,"This form can be used to store user Notes. Each Notes button in the workbook stores its own unique set of user Notes. To store user Notes:\r\r1) Enter any required Notes on this form (the current text on this form can be deleted or overwritten) \r2) Click 'OK' to save your Notes. This will automatically close this form but your Notes will be saved\r3) Click 'Cancel' to close this form. This will discard any edits you may have made to your Notes\r4) Click the same Notes button in the Workbook to reopen this form and view your saved Notes \r\rIf user Notes are stored the Notes button in the workbook will display a green '!' symbol. If no user Notes are stored the Notes button in the workbook will be blank or display a grey '!' symbol.\r\rThis form can be moved around the screen by clicking in the title area at the top of this form and dragging it to the required position.\r"," Notes",null,null,"On selection a form will open to enable notes to be added and/or viewed. A green \"!\" shows where notes have been added."]
[]
[null,null,null,null,null,null," Inputs",null,null,"Cells that are coloured in yellow denote areas where inputs are required as you complete this Good Practice Build Toolkit.",null,null,null,"Cells that are coloured in yellow denote areas where inputs are required as you complete this Planning Template."]
[null,null,null,null,null,null,null,null,null,"Note that text can be split across rows within a cell using the command 'Option+Enter' (MacBook) / 'Alt+Enter' (Windows)",null,null,null,"Cells that are coloured in yellow denote areas where inputs are required as you complete this Planning Template."]
[]
[null,null,null,null,null,null,"Results",null,null,"Cells that are coloured lilac are unlocked and auto-populated by the Diagnostics tools (which will overwrite existing content)"]
[]
[null,null,null,null,null,null,"Locked",null,null,"Cells that are clear are locked cells, which are not intended for user input, and cannot be edited whilst protection is active"]
[]
[null,null,null,null,null,"N/A","R","A","G","Unrated RAG Rating cells (see above) are coloured yellow and, when rated, coloured either Blue, Red, Amber or Green"]

{"sheet":"Report","index":2,"n_rows":90,"n_cols":24,"rows_kept":90,"cut":false,"hidden":false,"merged":[]}
[]
[null,null,null,null,"THIS GOOD PRACTICE BUILD TOOLKIT IS FOR GUIDANCE ONLY. PLEASE REMOVE GCF BRANDING AND UPDATE TO REFLECT THE BRANDING OF YOUR CONTRACTING AUTHORITY PRIOR TO USING IT."]
[null,null,null,null,{"$f":"rngMarking","v":"OFFICIAL"}]
[]
[null,null,null,null,{"$f":"rngProjName","v":"SCM Good Practice Build Toolkit"}]
[null,null,null,null,{"$f":"MID(CELL(\"filename\",B2),FIND(\"]\",CELL(\"filename\",B2))+1,256)&\" Sheet\"","v":"Report Sheet"}]
[]
[]
[]
[null,null,null,null,null,null,null,"Add / Delete User Defined Good Practice Points:",null,null,null,null,null,null,null,"Double-click to Clear:","Clear Rag",null,null,"Clear Diagnostics",null,"Clear General Observations",null,"Clear Examples"]
[]
[null,null,null,null,null,null,null,"Good Practice Points",null,null,null,"Standard Observations",null,null,null,null,"RAG Rating",null,"Diagnostics (Double-Click Buttons to Run)",null,null,"General Observations",null,"Examples (Not Exhaustive)"]
[]
[null,null,null,null,null,null,null,"Ref","Area","Good Practice Point",null,"N/A","R","A","G",null,"Select Rating",null,"ChkAll","Set Target Wbk",null,"Double-Click to Add Standard Observation for the Rating",null,"Double-Click to Select an Example Cell Range in the Model being Reviewed"]
[]
[]
[null,null,null,null,null,"This form can be used to store user Notes. Each Notes button in the workbook stores its own unique set of user Notes. To store user Notes:\r\r1) Enter any required Notes on this form (the current text on this form can be deleted or overwritten) \r2) Click 'OK' to save your Notes. This will automatically close this form but your Notes will be saved\r3) Click 'Cancel' to close this form. This will discard any edits you may have made to your Notes\r4) Click the same Notes button in the Workbook to reopen this form and view your saved Notes \r\rIf user Notes are stored the Notes button in the workbook will display a green '!' symbol. If no user Notes are stored the Notes button in the workbook will be blank or display a grey '!' symbol.\r\rThis form can be moved around the screen by clicking in the title area at the top of this form and dragging it to the required position.",null,{"$f":"SUBSTITUTE(ADDRESS(1,ROW(H17)-ROW(H$17)+1,4),\"1\",\"\")","v":"A"},"Workbook","Worksheets are separated into different categories and organised together in clearly signposted sections.",null,"Not Applicable","Worksheets are not clearly delineated by purpose.","Worksheets are delineated by purpose but this and/or their organisation into categories could be improved.","Worksheet delineation and organisation is in line with good practice."," ","R",null,null,null," ","DUMMY CONTENT - PLEASE DELETE: Worksheets are not clearly delineated by purpose.",null,"DUMMY CONTENT - PLEASE DELETE: Sheet1 and Sheet2 both contain inputs. However, Sheet2 contains calculations that impact the model output."]
[null,null,null,null,null,"",null,{"$f":"SUBSTITUTE(ADDRESS(1,ROW(H18)-ROW(H$17)+1,4),\"1\",\"\")","v":"B"},"Workbook","Worksheets should generally flow from inputs at the front of the workbook through calculations to outputs at the back.",null,"Not Applicable","Worksheets do not flow from inputs at the front of the workbook through calculations to outputs at the back.","Worksheets are generally organised with inputs at the front of the workbook and outputs at the back but there are a number of deviations.","Worksheet flow is in line with good practice (acceptable deviations include the position of summary output sheets)."," ","N/A",null,null,null," ","DUMMY CONTENT - PLEASE DELETE: Not Applicable"]
[null,null,null,null,null,"",null,"C","Workbook","The workbook uses a documented and consistent format and colour scheme. ",null,"Not Applicable","Formatting and colour schemes are inconsistent throughout the workbook.","Formatting and colour schemes are generally consistent but could be improved in some areas.","Workbook formatting and colour schemes are in line with good practice."," ","A",null,null,null," ","DUMMY CONTENT - PLEASE DELETE: Formatting and colour schemes are generally consistent but could be improved in some areas.",null,"DUMMY CONTENT - PLEASE DELETE: Call-ups are not consistently formatted; Report!$Q$26; Sheet1!$J$16:$M$17"]
[null,null,null,null,null,"",null,"D","Workbook","The workbook uses a documented and consistent sign convention. ",null,"Not Applicable","Sign conventions are inconsistent and are not documented.","Sign conventions appear consistent but are not documented.","Sign conventions are in line with good practice."," ","G",null,null,null," ","DUMMY CONTENT - PLEASE DELETE: Sign conventions are in line with good practice.",null,"DUMMY CONTENT - PLEASE DELETE: Sign-conventions are consistent and detailed within the model's included user guide; UserGuide!$F$18:$H$19"]
[null,null,null,null,null,"",null,"E","Workbook","The workbook uses conditional formatting to enhance usability and understanding.",null,"Not Applicable","Conditional formatting could be applied in a number of key areas to improve usability.","Conditional formatting could be applied in a few areas to improve usability.","Use of conditional formatting is in line with good practice."," ","G",null,"ChkCF","DUMMY CONTENT - PLEASE DELETE:\nNumber of cells with Conditional Formatting by sheet (# cells):\n0.1 - Cover sheet (# 2)\n0.2 - Map (# 2)\n0.3 - Key (# 2)\n0.4 - Checks (# 28)\n0.5 - Contents (# 2)\n0.6 - VC (# 19)\n1.1 - General - AUTH (# 2)\n1.2 - Timelines - AUTH (# 2)\n1.3 - Cost register - AUTH (# 2)\n1.4 - Glossary (# 2)\n2.1 - Bidder - IN (# 243)\n2.2 - Allowable Assumptions- IN (# 142)\n2.3 - Mark-Up - IN (# 492)\n2.4 - Labour Rates - IN (# 752)\n2.5 - Milestones Labour - IN (# 2752)\n2.6 - Milestone Costs - IN (# 4281)\n2.7 - Manage Fee Labour - IN (# 405)\n2.8 - Manage Fee Costs - IN (# 1000)\n2.9 - IA Labour - IN (# 505)\n2.10 - IA Costs - IN (# 750)\n2.11 - Volumes - AUTH (# 58)\n2.12 - Volume Bands - IN (# 21)\n2.13 - DA Labour - IN (# 758)\n2.14 - DA Costs - IN (# 506)\n2.15 - Unit Cost Labour - IN (# 3549)\n2.16 - Unit Costs - IN (# 3481)\n2.17 - Asset Register - IN (# 402)\n2.18 - Allowable Risk Pot - IN (# 4932)\n2.19 - Pass Through - IN (# 2604)\n3.1 - Milestone - CAL (# 2)\n3.2 - MF and IA - CAL (# 2)\n3.3 - DA - CAL (# 2)\n3.4 - Unit Costs - CAL (# 2)\n3.5 - Indexation - CAL (# 2)\n3.6 - Price Scenario - CAL (# 2)\n3.7 - Risk Pot - CAL (# 2)\n4.1 - Annual Summ - OUT (# 2)\n4.2 - Monthly Summ - OUT (# 2)\n4.3 - Evaluation - OUT (# 2)\n4.4 - Schedules - OUT (# 2)\n4.5 - Risk Pot - OUT (# 2)\n4.6 - Scenarios - OUT (# 2)\n4.7 - Financial Summ - OUT (# 2)\n4.8 - Labour Rates - OUT (# 2)\n9.0 - System Constants (# 2)"," ","DUMMY CONTENT - PLEASE DELETE: Use of conditional formatting is in line with good practice."]
[null,null,null,null,null,"",null,"F","Workbook","The workbook includes a contents page and a model map to aid understanding and navigation.",null,"Not Applicable","The workbook does not include a contents page or model map.","The workbook does not include both a contents page and a model map.","The inclusion of a contents page and model map is in line with good practice."," ","G",null,null,null," ","DUMMY CONTENT - PLEASE DELETE: The inclusion of a contents page and model map is in line with good practice. However, the model map could be hyperlinked to aid navigation."]
[null,null,null,null,null,"",null,"G","Workbook","The workbook includes or is linked to a user guide that covers how the user should interact with the model.",null,"Not Applicable","The workbook does not include or make reference to a user guide.","The model includes or links to user guide but it could be improved in some areas.","The inclusion of a model user guide is in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,{"$f":"SUBSTITUTE(ADDRESS(1,ROW(H24)-ROW(H$17)+1,4),\"1\",\"\")","v":"H"},"Workbook","The worksheet names are succinct, logical and devoid of any spaces.",null,"Not Applicable","Worksheet names do not follow a logical convention.","Worksheet names could be more succinct and/or spaces could be removed.","Worksheet naming is in line with good practice."," ",null,null,"ChkSpace",null," "]
[null,null,null,null,null,"",null,{"$f":"SUBSTITUTE(ADDRESS(1,ROW(H25)-ROW(H$17)+1,4),\"1\",\"\")","v":"I"},"Workbook","Each worksheet in the workbook contains a consistent and informative header within a freeze pane.",null,"Not Applicable","Worksheet headers are inconsistent across the workbook.","Worksheet headers are consistent but could be more informative.","Worksheet headers are constructed in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"J","Workbook","All elements of the model are labelled in a succinct and meaningful manner with consistent label placement throughout the workbook. ",null,"Not Applicable","Labelling is insufficient and/ or inconsistent across the workbook.","Labelling is broadly sufficient but placement is not consistent across the workbook.","Labelling is in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"K","Workbook","All elements of the model have a clear and unambiguous unit of measure with a consistent placement throughout the workbook.",null,"Not Applicable","Units of measure are not consistently attached to each element of the model.","The placement of units of measure is not consistent throughout the workbook.","Units of measure are in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"L","Workbook","On all worksheets that contain time-based values the timelines are constructed horizontally. ",null,"Not Applicable","There are vertical timelines within the model with no apparent rationale for their orientation.","There are vertical timelines within the model with some rationale for their orientation.","Timeline orientation is in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"M","Workbook","Timelines are clearly labelled, have a consistent placement across all worksheets and are driven off a master timeline on a dedicated worksheet.",null,"Not Applicable","The placement of timelines is inconsistent across the workbook and/or timelines are not driven off a master timeline.","Timelines are driven off a master timeline and are consistently placed throughout the workbook but labelling could be improved.","Timeline construction and placement is in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"N","Workbook","Timelines are at an appropriate level of granularity and constructed on a calendar basis (e.g. not all months have 30 days).",null,"Not Applicable","The rationale for timeline granularity is not clear and/or timelines are not constructed on a calendar basis.","Timelines are constructed on a calendar basis but the level of granularity may not be appropriate.","In line with good practice, timelines are constructed on a calendar and the level of granularity is appropriate."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"O","Workbook","There are no duplicate inputs or calculations (with the exception of error checks) within the model.",null,"Not Applicable","The workbook contains duplicate inputs and/or calculations and with no clear labelling of their presence.","There are limited instances of duplicate inputs and/or calculations but they are labelled in a way that helps to reduce the associated risks.","The workbook's lack of duplicate inputs and/or calculations is in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"P","Workbook","The model should be devoid of active links to other workbooks and if necessary they should be constructed in line with good practice.",null,"Not Applicable","The model contains links to other files that could be avoided and/or are not constructed in line with good practice.","The model contains links to other files but they are constructed in line with good practice.","The model does not include external links."," ",null,null,"ExtLinks",null," "]
[null,null,null,null,null,"",null,"Q","Workbook","The workbook does not require duplication to run different scenarios or options where they are required.",null,"Not Applicable","There may be a requirement for multiple scenarios that would require the workbook to be duplicated or substantially adapted.","The requirement to run multiple scenarios is unlikely but if required they could be accommodated with minimal adaptation. ","The ability to run scenarios without having to duplicate/adapt the workbook is in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"R","Workbook","The workbook does not use VBA to perform calculations that impact its outputs.",null,"Not Applicable","The workbook uses VBA to perform calculations that could readily be performed in Excel.","The workbook uses VBA to perform calculations that would be challenging to perform in Excel.","The workbook's lack of VBA for the performance of calculations is in line with good practice."," ",null,null,"ChkVBA",null," "]
[null,null,null,null,null,"",null,"S","Workbook","The workbook does not use custom functions to perform calculations that impact its outputs.",null,"Not Applicable","The workbook uses custom functions to perform calculations that could readily be performed using existing functions.","The workbook uses custom functions to perform calculations that would be challenging to perform using existing functions.","The workbook's lack of custom functions for the performance of calculations is in line with good practice."," ",null,null,"ChkFuncs",null," "]
[null,null,null,null,null,"",null,"T","Worksheet","Each worksheet has a discrete purpose, such as capturing inputs, performing calculations, presenting outputs or model governance.",null,"Not Applicable","Not all worksheets have a discrete purpose, such as capturing inputs, performing calculations, presenting outputs or model governance.","Some worksheets serve multiple purposes although there is clear delineation of purpose within the worksheet.","The construction of worksheets with a distinct purpose is in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"U","Worksheet","Worksheet flow is logical, from left to right and top to bottom, and links to other worksheets are not excessive.",null,"Not Applicable","Worksheet logic does not read like a book and/or understanding is hampered by inter-sheet data flows.","Worksheets flow logically but understanding could be improved with some reorganisation.","Worksheet logic flow is in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"V","Worksheet","Each column on a worksheet serves a unique purpose and column placement is consistent across worksheets.",null,"Not Applicable","Columns are not consistent across worksheets.","Columns are consistent across worksheets but some columns serve multiple purposes.","Unique column purpose and placement consistency across the workbook is in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"W","Worksheet","Display totals based on summed timed-bound values are located outside of the timeline and in a freeze pane on the left of the worksheet.",null,"Not Applicable","Display totals are positioned within the timeline.","Display totals are outside of the timeline but not in a freeze pane on the left hand side.","The placement of display totals is in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"X","Worksheet","Time independent data is arranged in consistent columns that do not overlap with time series data.",null,"Not Applicable","Time independent data is positioned under the timeline.","Time independent data are outside the timeline but columns are not consistent.","The placement of time independent data is in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"Y","Worksheet","Worksheet content is arranged in uniquely labelled sections and subsections that are hierarchically indented.",null,"Not Applicable","Worksheet content is not consistently arranged in clearly labelled sections and subsections.","Worksheet content is arranged in clearly labelled sections and subsections but indenting could be improved.","The arrangement of worksheet content into sections and subsections is in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"Z","Worksheet","There are no hidden worksheets or hidden rows or columns within the used range.",null,"Not Applicable","There are hidden rows and/or columns within the used range of worksheets.","There are no hidden rows and/or columns within the used range of worksheets but some worksheets are hidden.","Transparency of worksheets and of rows and columns is in line with good practice."," ",null,null,"ChkHidden",null," "]
[null,null,null,null,null,"",null,"AA","Worksheet","Numbers are not formatted to show anything other than their true value.",null,"Not Applicable","Numbers are formatted to display values other than their true value.","Some numbers are not formatted to show their true value but this is clearly labelled.","Numbers, in line with good practice, are formatted to show their true value."," ",null,null,"ChkFormats",null," "]
[null,null,null,null,null,"",null,"AB","Worksheet","With the exception of Centre Across Selection there is no merging of cells. ",null,"Not Applicable","Some cells on input, calculation or output sheets are merged.","There are some merged cells although these are not on input, calculation or output sheets.","The avoidance of cell merging is in line with good practice."," ",null,null,"ChkMerged",null," "]
[null,null,null,null,null,"",null,"AC","Input Sheets","Input sheets contain only inputs and are devoid of any calculations that are used to derive model outputs.",null,"Not Applicable","Input sheets contain calculations that are used to derive model outputs","Although input sheets contain calculations that are not used to derive model outputs they could be performed elsewhere and called-up.","The avoidance of calculations on input sheets in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"AD","Input Sheets","Input sheets are arranged with a logical structure such as nature, form, function, provider and/or calculation layout.",null,"Not Applicable","The arrangement of input sheets does not appear to follow a logical structure.","Input sheets are arranged in a logical structure but reorganisation could improve understanding.","The logical arrangement of input sheets is in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"AE","Input Sheets","Input sheets contain dedicated columns for both comments and referencing inputs back to the book of assumptions.",null,"Not Applicable","Input sheets do not contain dedicated columns for referencing inputs back to the book of assumptions.","Input sheets contain dedicated columns for referencing inputs back to the book of assumptions but do not include a column for comments.","Use of dedicated referencing and comments columns on input sheets is in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"AF","Input Sheets","Links to other files should be avoided although, if necessary, should use named ranges, be in clearly delineated sections and be devoid of calculations.",null,"Not Applicable","The workbook includes links to other files that do not employ named ranges, are not in clearly delineated sections or include calculations.","Links to other files employ named ranges, are in clearly delineated sections and are devoid of calculations but their necessity should be reconsidered.","The management of external links is in line with good practice. "," ",null,null,"UnnamedLinks",null," "]
[null,null,null,null,null,"",null,"AG","Input Sheets","Where input restrictions are appropriate they have been applied using labelled Data Validation.",null,"Not Applicable","There is little or no restriction of input values that may benefit from restriction.","Input restrictions have been applied but they could be more widely.","The use of input restrictions is in line with good practice."," ",null,null,"ChkDV",null," "]
[null,null,null,null,null,"",null,"AH","Input Sheets","Where input Data Validation is not sufficiently restrictive in-built error checks have been included. ",null,"Not Applicable","Error checks are not used where input values may benefit from control over and above Data Validation.","Error checks are used to broaden control over input values but they could be used more widely.","The use of error checks to apply input restrictions is in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"AI","Calculation Sheets","Calculation sheets are devoid of inputs and do not require user interaction.",null,"Not Applicable","Calculation sheets include inputs that model operators may need to update that could be relocated.","Calculation sheets include inputs that are clearly delineated with apparent rationale or unlikely to require model operator interaction.","The lack of inclusion of inputs on calculation sheets is in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"AJ","Calculation Sheets","Calculations performed over a series or block are consistent both horizontally and vertically and range references cover entire ranges.",null,"Not Applicable","Calculations are inconsistent within series or blocks or include partial range references and with no clear delineation.","There are some calculation inconsistencies within blocks or partial range references but they are clearly delineated.","Consistency of calculations within blocks and use of full range references is in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"AK","Calculation Sheets","Calculations are organised into distinct, appropriately labelled, blocks and formulas do not use excessive anchoring.",null,"Not Applicable","There is limited organisation of calculations into distinct clearly labelled sections.","Calculations are largely arranged in labelled blocks but improvements to labelling, arrangement and/or the level of anchoring could be made.","Calculations are devoid of excessive anchoring and are arranged in clearly labelled blocks in-line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"AL","Calculation Sheets","Insertion rows or columns are included in both totals that sum blocks of data and input ranges that might be expanded in future. ",null,"Not Applicable","There is little or no use of insertion rows or columns.","Insertion rows and/or columns are included but their use could be extended.","Use of insertion rows and/or columns is in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"AM","Calculation Sheets","The relative ordering of calculation components within repeat calculation blocks is consistent.",null,"Not Applicable","Calculation components within repeat calculation blocks are not consistently ordered.","Calculation components within repeat calculation blocks are generally in a consistent order but some improvements could be made.","The consistent relative ordering of calculation components is in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"AN","Calculation Sheets","Formulas are short and have a single purpose and do not combine multiple calculation steps.",null,"Not Applicable","Long formulas and formulas that serve multiple purposes are prevalent. ","Formulas are generally short but some could be simplified by breaking them into smaller steps.","Formulas are short and serve a single purpose in line with good practice."," ",null,null,"ChkShort",null," "]
[null,null,null,null,null,"",null,"AO","Calculation Sheets","Flags are used to calculate and visually display time-based assumptions. ",null,"Not Applicable","Flags to display time-based information are not used but they could have utility.","Flags to display time-based information are used but their use could be broadened.","The use of flags to display time-based information is in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"AP","Calculation Sheets","Formulas are simple, easy to understand and are not unnecessarily complex. ",null,"Not Applicable","There are multiple instances of formulas that are complex and difficult to understand.","In general formulas are simple but complexity could be reduced in some areas and/or some formulas structured to make them easier to understand.","Formulas, in line with good practice, are simple and easily understood."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"AQ","Calculation Sheets","Array formulas are not used unnecessarily and in-built alternatives have been considered. ",null,"Not Applicable","There are multiple instances of Array formulas being used to perform calculations that could readily be performed using alternative approaches.","There are limited instances of Array formulas being used to perform calculations that could be performed using alternative approaches.","Array formulas, in line with good practice, are not used or only used only where there are no viable alternatives."," ",null,null,"ChkArray",null," "]
[null,null,null,null,null,"",null,"AR","Calculation Sheets","Formulas that reference the current worksheet do not include the name of the current worksheet in the formula. ",null,"Not Applicable","There are multiple instances of formulas that include reference to the current worksheet name.","There are limited instances of formulas that include reference to the current worksheet name.","Formulas, in line with good practice, do not include reference to the current worksheet name."," ",null,null,"ChkSelfRef",null," "]
[null,null,null,null,null,"",null,"AS","Calculation Sheets","Three dimensional formulas that perform calculations using data from a different sheet are not used unnecessarily.",null,"Not Applicable","There are multiple instances of three dimensional formulas that could readily be avoided.","There are limited instances of three dimensional formulas that could readily be avoided.","Three dimensional formulas, in line with good practice, are not used or only used where alternatives offer a sub-optimal solution."," ",null,null,"ChkThreeD",null," "]
[null,null,null,null,null,"",null,"AT","Calculation Sheets","The calculation logic is not circular and there are no circular references. ",null,"Not Applicable","Circular references are evident and they may be inadvertent.","Circular references are evident although there is clear guidance to help manage the associated risk.","There are no circular references in line with good practice or circular references are managed using alternative approaches."," ",null,null,"ChkCirc",null," "]
[null,null,null,null,null,"",null,"AU","Calculation Sheets","With the exception of formula arguments all formulas are devoid of constants or hardwired values.",null,"Not Applicable","Formulas contain hardwired values and constants that could be subject to change.","Formulas contain hardwired values and constants that are inherently stable such as twelve for the number of months in a year.","Formulas are devoid of constants or hardwired values in line with good practice."," ",null,null,"ChkConst",null," "]
[null,null,null,null,null,"",null,"AV","Calculation Sheets","Formulas are easy to read and do not contain excessive anchoring or bracketing.",null,"Not Applicable","Some formulas contain excessive anchoring and/or bracketing that makes them difficult to read.","Formulas are generally easy to read but some could be simplified by reducing anchoring and/or bracketing and improving their construction.","Formulas, in line with good practice, contain minimal anchoring and bracketing and are easy to read."," ",null,null,"ChkClutter",null," "]
[null,null,null,null,null,"",null,"AW","Calculation Sheets","There is no temporary code in the model and, where necessary, it is clearly signposted and visually identifiable as such.",null,"Not Applicable","Temporary or redundant code is included that is not clearly marked as such.","The labelling of temporary or redundant code be improved or it could be considered for removal.","There is no temporary or redundant code or where included it is both necessary and clearly marked in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"AX","Formulas & Functions","Net Present Value is calculated long-hand, showing the discount factor over time, and not via the in-built NPV function.",null,"Not Applicable","The NPV function is used to derive NPV directly.","NPV is calculated long-hand but the discount factor is not clearly displayed over time and/or the basis of calculation could be made more transparent.","Where included NPV is calculated using a transparent long-hand approach and shows the discount factor over time in line with good practice."," ",null,null,"ChkNPV",null," "]
[null,null,null,null,null,"",null,"AY","Formulas & Functions","With the exception of depreciation calculations the OFFSET function is not used unnecessarily.",null,"Not Applicable","The OFFSET function is used where alternatives are readily available.","The OFFSET function is only used where alternative approaches would require substantial structural alteration.","The OFFSET function, in line with good practice, is not used or only used where there are no viable alternatives."," ",null,null,"ChkOFFSET",null," "]
[null,null,null,null,null,"",null,"AZ","Formulas & Functions","The INDIRECT function is not used unnecessarily and where required it is constructed in a robust manner.",null,"Not Applicable","The INDIRECT function is used where alternatives are readily available.","The INDIRECT function is only used where there are no viable alternatives but could be constructed in a more robust manner.","The INDIRECT function, in line with good practice, is not used or used only where there are no viable alternatives and where used constructed in a robust manner."," ",null,null,"ChkINDIRECT",null," "]
[null,null,null,null,null,"",null,"BA","Formulas & Functions","The CHOOSE function is not used where alternative functions such as INDEX could provide a similar solution.",null,"Not Applicable","The CHOOSE function is widely used where alternatives are readily available.","The CHOOSE function is used in a limited number of places where alternative approaches are available.","The CHOOSE function, in line with good practice, is not used or only used where there are no viable alternatives."," ",null,null,"ChkCHOOSE",null," "]
[null,null,null,null,null,"",null,"BB","Formulas & Functions","The IF function is not used for picking values when alternative functions such as INDEX could provide a similar solution.",null,"Not Applicable","The IF function is widely used for picking values where alternatives are readily available.","The IF function is used in a limited number of places for picking values where alternative approaches are available.","The IF function, in line with good practice, is not used for picking values or used only where there are no viable alternatives."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"BC","Formulas & Functions","Blanket error wraps such as IFERROR, ISERR and ISERROR are not used where the underlying driver of errors can be trapped directly. ",null,"Not Applicable","Blanket error wraps are prevalent.","Use of blanket error wraps are generally avoided but improvements could be made in some areas.","Blanket error wraps, in line with good practice, are not used or are only used where there are no viable alternatives."," ",null,null,"ChkERR",null," "]
[null,null,null,null,null,"",null,"BD","Formulas & Functions","Named Ranges are not used excessively, follow a succinct and meaningful naming convention and are documented within the model.",null,"Not Applicable","Named Ranges appear to be used excessively within the model and/or their documentation is lacking.","Named Ranges are used sparingly and are well documented but naming conventions could be improved.","Named Ranges, in line with good practice, are used sparingly, well documented and adhere to a logical and succinct naming convention."," ",null,null,"ChkNames",null," "]
[null,null,null,null,null,"",null,"BE","Output Sheets","The workbook includes dedicated outputs sheets that do not contain any inputs and whose formulas are limited to 'call ups' and basic summations only.",null,"Not Applicable","There are no dedicated output sheets.","There are dedicated output sheets but formulas extend beyond call-ups and basic summations of those call-ups.","There are dedicated output sheets that contain only call-ups and basic summations of call-ups in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"BF","Output Sheets","The outputs meet the requirements of the model and their presentation is fit for purpose. ",null,"Not Applicable","Output sheets do not cover all expected outputs.","Output sheets cover all expected outputs but their presentation could be improved.","The outputs meet the requirements of the model and their presentation is fit for purpose in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"BG","Output Sheets","Outputs are clearly labelled and presented in a way that helps to minimise the risk of potential misinterpretation. ",null,"Not Applicable","The labelling of some outputs is lacking and/or presents a risk of misinterpretation. ","All outputs are labelled but labelling could be improved in some areas. ","Outputs, in line with good practice, are clearly labelled and presented in a way that helps to minimise the risk of misinterpretation. "," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"BH","Output Sheets","The status of any in-model or known errors or limitations is clear on output sheets.",null,"Not Applicable","The status of in-model errors is not overtly clear across all output sheets, including charts and graphs.","The status of in-model errors is clear across all output sheets but the highlighting of model limitations could be improved.","The status of in-model errors and the highlighting of model limitations is clear on output sheets in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"BI","Output Sheets","Charts are not misleading, are clearly labelled, highlight the current scenario and the data that powers them is clearly delineated. ",null,"Not Applicable","Charts are misleading and/or lack clear labelling including, where relevant, to the current scenario.","Charts are not misleading, are clearly labelled and refer, where applicable, to the current scenario but the data that powers them is not clearly delineated.","Charts, in line with good practice, are not misleading, are clearly labelled, refer where applicable to the current scenario, and the data that powers them is clearly delineated."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"BJ","Output Sheets","Pivot tables that feed the overall model logic are not used unnecessarily and where included fields are visible and update instructions provided.",null,"Not Applicable","Pivot tables that feed the model logic are used and update instructions are lacking.","Pivot tables that feed the model logic are used where alternatives are available but update instructions are clear and fields are visible.","Pivot tables, in line with good practice, are not used or only used where necessary and where used fields are visible and update instructions are clear."," ",null,null,"ChkPivot",null," "]
[null,null,null,null,null,"",null,"BK","Output Sheets","Data tables are not used where traditional approaches can provide a similar solution.",null,"Not Applicable","Data tables are used where traditional approaches could be readily employed to provide a similar solution.","Data tables are only used where traditional approaches would require substantial structural alteration.","Data tables, in line with good practice, are not used or only used only where there are no viable alternatives."," ",null,null,"ChkTable",null," "]
[null,null,null,null,null,"",null,"BL","Checking and Control","A comprehensive range of in-built checks and controls are included in the model.",null,"Not Applicable","The model is devoid of or contains only a limited number of in-built checks and controls.","The model includes a range of in-built checks and controls but they could be expanded or strengthened in some areas.","The model includes a comprehensive range of in-built checks and controls in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"BM","Checking and Control","In-built error checks are robust and consistent throughout the model.",null,"Not Applicable","In-built error checks lack robustness and could mislead model operators.","In-built error checks are robust but consistency across the model could be improved.","In-built error checks, in line with good practice, are robust and consistent across the model."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"BN","Checking and Control","In-built error checks are networked to a dedicated error check worksheet and each worksheet within the workbook displays worksheet and workbook level checks. ",null,"Not Applicable","In-built error checks are not networked to a dedicated error check worksheet.","In-built error checks are networked but workbook and worksheet level checks are not included on every worksheet.","In-built error checks are networked and workbook and worksheet level checks are included on every worksheet in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"BO","Checking and Control","Error checks are visible in locations where they may be triggered and worksheet and workbook level checks are in the freeze pane at the top of each worksheet.",null,"Not Applicable","Worksheet and workbook level checks are not in the freeze pane at the top of every worksheet.","Worksheet and workbook level checks are in the freeze pane at the top of every worksheet but visibility of checks in locations where errors may be triggered could be improved.","Worksheet and workbook level checks are in the freeze pane at the top of every worksheet and checks are visible in locations where errors may be triggered in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"BP","Checking and Control","All cells that are not designed to be input into by the user community are locked and worksheet protection has been applied.",null,"Not Applicable","Cell protection has not been set up.","Cell protection has been set up but there are some anomalies. ","All cells other than input cells are locked and worksheet protection has been applied in line with good practice."," ",null,null,"ChkLocked",null," "]
[null,null,null,null,null,"",null,{"$f":"SUBSTITUTE(ADDRESS(1,ROW(H85)-ROW(H$17)+1,4),\"1\",\"\")","v":"BQ"},"Other Governance Elements","The model includes or is linked to a Book of Assumptions / Data Log that establishes the provenance of all data employed within the model.",null,"Not Applicable","There is no Book of Assumptions / Data Log or it is sparsely populated.","The model includes or is linked to a Book of Assumptions / Data Log but there are some gaps.","The model, in line with good practice, includes or is linked to a Book of Assumptions / Data Log that establishes the provenance of all data within the model."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"BR","Other Governance Elements","A Version Control log that captures key information on changes and QA over the model's lifecycle is included.",null,"Not Applicable","A Version Control log that captures key information on both changes and QA over the model's lifecycle is not included.","A Version Control log that captures key information on both changes and QA over the model's lifecycle is included but there are some gaps.","An up to date Version Control log that captures key information on changes and QA over the model's lifecycle is included in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"BS","Other Governance Elements","Scenario and sensitivity settings are captured using Configuration Control to enable the regeneration of outputs.",null,"Not Applicable","The model is set up to run scenarios and sensitivities but there is no Configuration Control Log.","The model includes a Configuration Control Log but its coverage or transparency could be improved.","Scenario and sensitivity settings, in line with good practice, are captured using Configuration Control to enable the regeneration of outputs."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"BT","Other Governance Elements","Details of key personnel such as the model developer and model owner are included in the model.",null,"Not Applicable","The model does not include details of key personnel.","The model includes details of some but not all key personnel.","Details of all key personnel are included in the model in line with good practice."," ",null,null,null,null," "]
[null,null,null,null,null,"",null,"BU","User Defined 1","Unlock the GPBT and enter user definition for good practice point here…...",null,"Not Applicable","User Defined","User Defined","User Defined"," ",null,null,null,null," "]
[null,null,null,null,null,">>>> Insert new rows ABOVE this line (if manually adding new User Defined Good Practice Points)",null,null,null,null,null,null,null,null,null," "]