The Before workbook takes 22 seconds to recalculate at 1200MHZ, the After workbook takes 0.17
seconds to recalculate, and the NoNamesAfter workbook takes under 0.03 seconds, on the same
machine.
All workbooks produce the same results, but the After and NoNamesAfter workbooks have been
performance optimised using FastExcel.
The difference between After and NoNamesAfter is that After makes extensive use of dynamic range
names, whilst NoNamesAfter has had the names removed. This also makes it much easier to see how
some of the performance optimisation has been done.
The sample workbooks are loosely based on the customer-driven market segmentation model built for
BT Cellnet and RS Consulting.
The FastExcel analysis was done on a system with a 1200MHZ AMD Athlon and 768MB RAM using
Excel 2000 SP3 and Windows XP.
This workbook is designed to be used in conjunction with the FastExcel V2 Sample Problem Guide
(FXLSampleProblemV2.pdf)
Note: for a more detailed explanation of FastExcel output refer to the user manual, which is available
online, and is also downloadable in PDF format, on the DecisionModels website
http://www.DecisionModels.com
e
r.
0.03
e
w
or
g
The BEFORE workbook, The version and
with the date and time of FastExcel WorkBook Profile FastExcel can make
Excel calculate only Version 2.1 Build 443 build of FastExcel
the profile. the Active Workbook, Mixed Mode settings show when mixed-
mode worksheets will be calculated.
Physical Environment Profile: 9/9/2004 12:53 F:\My Documents\FastExcel\Before.xls or All workbooks.
WorkBook Summary
Sheets Cell Counts Calc Time(Millisec) % Book MicroSecs Range Total TBytes Unused Cells Pivot XLLinks Names
Count Used Const CondFmt Formula Re Calc Full Calc Volatile OvHead /Formula Mem(K) Mem(K) per Cell %Waste %Sparse Cache(K) Count Count
11 21,154,337 6,244 1,152 26,143 21,804.2 21,677.9 100.6% 15,155.8 829.2 2,249 5,701 180.2 99.8% 99.8% 0 0 135
WorkSheet Profiles
Cell Counts Calc Time(Millisec) Sheet MicroSecs Range Other UBytes Unused Cells Page Shapes HypLinks
Sheetname Used Const CondFmt Formula Used Max Sheet Sheet Calc OvHead /Formula Mem(K) Mem(K) per Cell %Waste %Sparse Breaks Count Count
B0_Answers 3,240 185 1,152 2,470 2,354.6 2,238.8 2,227.9 None 902.0 278 1 107.1 0% 18% 0 10 0
A9_Products 20,826 39 0 20,787 222.6 194.9 195.8 None 9.4 870 608 42.8 0% 0% 0 39 0
A4_Respondents 2,184 13 0 2,171 13.3 18.2 18.2 4.9 6.1 87 56 41.0 0% 0% 0 12 0
A2_UniVerse 350 137 0 81 3.7 15.7 15.5 11.8 45.4 6 529 27.6 0% 38% 0 18 0
A7_ProductData 4,806 4,273 0 533 10.1 13.5 13.1 3.0 18.9 73 512 15.6 0% 0% 0 9 0
A5_Explanation 82 28 0 0 0.2 12.7 12.4 12.1 0.0 1 0 47.1 0% 66% 0 0 0
A3_Sectors 117 10 0 96 3.6 12.0 12.0 8.4 37.3 5 0 47.7 0% 9% 0 6 0
A8_Counts 12 7 0 5 3.9 9.0 8.6 4.8 774.3 0 0 21.3 0% 0% 0 0 0
A6_ProductNames 12 12 0 0 0.3 8.8 8.4 8.1 0.0 0 480 21.3 0% 0% 0 0 0
A0_RespondentData 1,512 1,512 0 0 1.4 8.8 8.4 7.0 0.0 14 512 9.6 0% 0% 0 9 0
A1_SegmentNames 16 16 0 0 0.3 8.9 8.3 8.0 0.0 0 476 19.0 0% 0% 0 0 0
Other 32
Totals 33,157 6,232 1,152 26,143 2,613.8 2,541.4 2,528.7 None 96.7 1,335 3,207 36.0 0.0% 2.4% 103 0
WorkBook Summary
Sheets Cell Counts Calc Time(Millisec) % Book MicroSecs Range Total TBytes Unused Cells Pivot XLLinks Names
Count Used Const CondFmt Formula Re Calc Full Calc Volatile OvHead /Formula Mem(K) Mem(K) per Cell %Waste %Sparse Cache(K) Count Count
11 33,157 6,232 1,152 26,143 4,392.0 4,343.6 101.1% 1,815.0 166.1 1,335 4,542 143.7 0.0% 2.4% 0 0 135
Recalculation time has been reduced Book Overhead has been reduced by over 13 seconds, but we need to
by over 17 seconds get rid of the remaining 1.8 seconds by eliminating the worksheet forward
crossreference loops.
FastExcel WorkBook Profile Version 2.1 Build 444
WorkBook Summary
Sheets Cell Counts Calc Time(Millisec) % Book MicroSecs Range Total TBytes Unused Cells Pivot XLLinks Names
Count Used Const CondFmt Formula Re Calc Full Calc Volatile OvHead /Formula Mem(K) Mem(K) per Cell %Waste %Sparse Cache(K) Count Count
11 33,661 6,232 1,152 26,143 2,241.1 2,220.2 100.9% None 84.9 1,332 4,663 147.5 0.0% 3.8% 0 0 135
FastExcel WorkSheet Areas Profile Version 2.1 Build 444
WorkBook Summary
Sheets Cell Counts Calc Time(Millisec) % Book MicroSecs Range Total TBytes Unused Cells Pivot XLLinks Names
Count Used Const CondFmt Formula Re Calc Full Calc Volatile OvHead /Formula Mem(K) Mem(K) per Cell %Waste %Sparse Cache(K) Count Count
11 34,677 6,308 1,152 26,691 168.2 183.4 91.7% None 6.9 1,203 4,674 145.0 1.4% 4.8% 0 0 140
Recalculation time has
been improved by 21.6 Book overhead of 15
seconds, a factor of 130. seconds has been Memory used has been
eliminated reduced by 1 MB
Changes made in the After workbook to optimise Volatility is still high. This is
performance: caused by the extensive use
of dynamic range names
Note that because one of the key design criteria of these demonstration containing the volatile
workbooks was to use dynamic named ranges the resulting formulae OFFSET function.
optimisations in this workbook are done using Range Names. Sheet
AfterNames contains a listing of the revised range names which you can
compare to the B4Names sheet.
Memory used has been
reduced by 1 MB
Changes made in the After workbook to optimise Volatility is still high. This is
performance: caused by the extensive use
of dynamic range names
Note that because one of the key design criteria of these demonstration containing the volatile
workbooks was to use dynamic named ranges the resulting formulae OFFSET function.
optimisations in this workbook are done using Range Names. Sheet
AfterNames contains a listing of the revised range names which you can
compare to the B4Names sheet.
- The names of the worksheets were altered using the optimised sequence
from B4OptSeq.
= OFFSET(A9_Products!$D$1,
VLOOKUP(Answers.Product,ProductIndex,3,FALSE) -1,0,
VLOOKUP(Answers.Product,ProductIndex,4,FALSE) ,1)
Products.ProductNameRange contains
= OFFSET(A9_Products!$D$1,
VLOOKUP(Answers.Product,ProductIndex,3,FALSE) -1,0,
VLOOKUP(Answers.Product,ProductIndex,4,FALSE) ,1)
FastExcel WorkSheet Areas Profile Version 2.1 Build 444
WorkBook Summary
Sheets Cell Counts Calc Time(Millisec) % Book MicroSecs Range Total TBytes Unused Cells Pivot XLLinks Names
Count Used Const CondFmt Formula Re Calc Full Calc Volatile OvHead /Formula Mem(K) Mem(K) per Cell %Waste %Sparse Cache(K) Count Count
11 34,852 6,303 1,152 26,820 29.7 82.8 35.8% None 3.1 1,804 2,119 65.5 1.4% 5.0% 0 0 2
ProductData
ProductData.Addusers
ProductData.colProductSerial
ProductData.Level2001
ProductData.LevelNow
ProductData.Pct2001
ProductData.PctNow
ProductData.product
ProductData.ProductSerial
ProductData.sectorcode
ProductData.SpendIncCode
ProductNames
Products
Products.colL1IncSpend
Products.colL1Spend
Products.colL1Users
Products.colL2IncSpend
Products.colL2Spend
Products.colL2Users
Products.colL3IncSpend
Products.colL3Spend
Products.colL3Users
Products.colL4IncSpend
Products.colL4Spend
Products.colL4Users
Products.colL5IncSpend
Products.colL5Spend
Products.colL5Users
Products.colProductName
Products.colSectorName
Products.colTotIncSpend
Products.colTotSpend
Products.colTotUsers
Products.colUPhones2001
Products.colUSpend2001
Products.CurrentLevel
Products.IncrementalSpend
Products.L1IncSpend
Products.L1Spend
Products.L1Users
Products.L2IncSpend
Products.L2Spend
Products.L2Users
Products.L3IncSpend
Products.L3Spend
Products.L3Users
Products.L4IncSpend
Products.L4Spend
Products.L4Users
Products.L5IncSpend
Products.L5Spend
Products.L5Users
Products.NCSpend
Products.NCUsers
Products.NewLevel
Products.NewSpend
Products.NewUsers
Products.Phones2001
Products.SpendNow
Products.SumIncSpend
Products.SvcDrivenSpend
Products.SvcDrivenUsers
Products.TotIncSpend
Products.TotSpend
Products.TotUsers
Products.Uphones2001
Products.UPhonesNow
Products.UsersNow
Products.USpend2001
Products.USpendNow
ProductSerialCount
RespondentCount
RespondentData
RespondentData.colPhones2001
RespondentData.colPhonesNow
RespondentData.colRespondentSerial
RespondentData.colSector_Code
RespondentData.colSegmentCode
RespondentData.Emps_2001
RespondentData.Emps_Now
RespondentData.Phones2001
RespondentData.PhonesNow
RespondentData.RespondentSerial
RespondentData.Sector_Code
RespondentData.SegmentCode
RespondentData.Spend2001
RespondentData.SpendNow
Respondents
Respondents.Channel
Respondents.colPowerScalePhonesNow
Respondents.colPowerScaleSpendNow
Respondents.colSectorName
Respondents.colUphones2001
Respondents.colUSpend2001
Respondents.PhoneScaleFactor
Respondents.PowerScalePhones2001
Respondents.PowerScalePhonesnow
Respondents.PowerScaleSpend2001
Respondents.PowerScaleSpendNow
Respondents.SectorName
Respondents.SegmentName
Respondents.SpendScaleFactor
Respondents.Uphones2001
Respondents.UPhonesNow
Respondents.Uspend2001
Respondents.USpendNow
scalepower
Sector
SectorCount
Sectors
SegmentCount
SegmentNames
ServiceDriven_Users_Yield
SignificantFactor
SlightFactor
Spendscalefactor
TotalEmps
TotalMobPhones
TotalMobSpend
TotalOurPhones
TotalOurSpend
Universe
Universe.Emps
Universe.Emps2001
RefersToLocal These defined Range Names are dynamic. Visible Local name
=Products!$A$1:$U$534 They automatically expand or contract as the 0 1
=Respondents!$D$1:$V$168 number of entries in the range changes. This is 0 1
=Answers!$A65535 ideal for Excel models with input data that will 1 0
change over time.
=Answers!$B65535 1 0
=UniVerse!$C$7 These dynamic rnage names were generated 1 0
=OFFSET(UniVerse!$D$14,0,0,COUNTA(UniVerse!$D$14:$D$65536),1)
using the FastExcel Dynamic Range wizard. 1 0
=OFFSET(UniVerse!$E$14,0,0,COUNTA(UniVerse!$E$14:$E$65536),1) 1 0
=UniVerse!$G$7 1 0
=OFFSET(UniVerse!$G$14,0,0,COUNTA(UniVerse!$G$14:$G$65536),1) 1 0
=OFFSET(UniVerse!$H$14,0,0,COUNTA(UniVerse!$H$14:$H$65536),1) 1 0
=COUNTA(ProductNames!$A:$A) 1 0
=OFFSET(ProductData!$A$2,0,0,COUNTA(ProductData!$A$2:$A$65536),9) 1 0
=ProductData!$H34777 1 0
=OFFSET(ProductData!$A$2,0,0,COUNTA(ProductData!$A$2:$A$65536),1) 1 0
=ProductData!$F34777 1 0
=ProductData!$D34777 1 0
=ProductData!$G34777 1 0
=ProductData!$E34777 1 0
=ProductData!$C34777 1 0
=ProductData!$A34777 1 0
=ProductData!$B34777 1 0
=ProductData!$I34777 1 0
=OFFSET(ProductNames!$A$2,0,0,COUNTA(ProductNames!
$A$2:$A$65536),2) 1 0
=OFFSET(Products!$A$2,0,0,COUNTA(Products!$A$2:$A$65536),39) 1 0
=OFFSET(Products!$AH$2,0,0,COUNTA(Products!$AH$2:$AH$65536),1) 1 0
=OFFSET(Products!$AB$2,0,0,COUNTA(Products!$AB$2:$AB$65536),1) 1 0
=OFFSET(Products!$V$2,0,0,COUNTA(Products!$V$2:$V$65536),1) 1 0
=OFFSET(Products!$AI$2,0,0,COUNTA(Products!$AI$2:$AI$65536),1) 1 0
=OFFSET(Products!$AC$2,0,0,COUNTA(Products!$AC$2:$AC$65536),1) 1 0
=OFFSET(Products!$W$2,0,0,COUNTA(Products!$W$2:$W$65536),1) 1 0
=OFFSET(Products!$AJ$2,0,0,COUNTA(Products!$AJ$2:$AJ$65536),1) 1 0
=OFFSET(Products!$AD$2,0,0,COUNTA(Products!$AD$2:$AD$65536),1) 1 0
=OFFSET(Products!$X$2,0,0,COUNTA(Products!$X$2:$X$65536),1) 1 0
=OFFSET(Products!$AK$2,0,0,COUNTA(Products!$AK$2:$AK$65536),1) 1 0
=OFFSET(Products!$AE$2,0,0,COUNTA(Products!$AE$2:$AE$65536),1) 1 0
=OFFSET(Products!$Y$2,0,0,COUNTA(Products!$Y$2:$Y$65536),1) 1 0
=OFFSET(Products!$AL$2,0,0,COUNTA(Products!$AL$2:$AL$65536),1) 1 0
=OFFSET(Products!$AF$2,0,0,COUNTA(Products!$AF$2:$AF$65536),1) 1 0
=OFFSET(Products!$Z$2,0,0,COUNTA(Products!$Z$2:$Z$65536),1) 1 0
=OFFSET(Products!$C$2,0,0,COUNTA(Products!$C$2:$C$65536),1) 1 0
=OFFSET(Products!$B$2,0,0,COUNTA(Products!$B$2:$B$65536),1) 1 0
=OFFSET(Products!$AM$2,0,0,COUNTA(Products!$AM$2:$AM$65536),1) 1 0
=OFFSET(Products!$AG$2,0,0,COUNTA(Products!$AG$2:$AG$65536),1) 1 0
=OFFSET(Products!$AA$2,0,0,COUNTA(Products!$AA$2:$AA$65536),1) 1 0
=OFFSET(Products!$G$2,0,0,COUNTA(Products!$G$2:$G$65536),1) 1 0
=OFFSET(Products!$I$2,0,0,COUNTA(Products!$I$2:$I$65536),1) 1 0
=Products!$L2 1 0
=Products!$T2 1 0
=Products!$AH2 1 0
=Products!$AB2 1 0
=Products!$V2 1 0
=Products!$AI2 1 0
=Products!$AC2 1 0
=Products!$W2 1 0
=Products!$AJ2 1 0
=Products!$AD2 1 0
=Products!$X2 1 0
=Products!$AK2 1 0
=Products!$AE2 1 0
=Products!$Y2 1 0
=Products!$AL2 1 0
=Products!$AF2 1 0
=Products!$Z2 1 0
=Products!$Q2 1 0
=Products!$M2 1 0
=Products!$N2 1 0
=Products!$R2 1 0
=Products!$O2 1 0
=Products!$E2 1 0
=Products!$K2 1 0
=Products!$U2 1 0
=Products!$S2 1 0
=Products!$P2 1 0
=Products!$AM2 1 0
=Products!$AG2 1 0
=Products!$AA2 1 0
=Products!$G2 1 0
=Products!$F2 1 0
=Products!$J2 1 0
=Products!$I2 1 0
=Products!$H2 1 0
=COUNTA(ProductData!$A$2:$A$65536) 1 0
=COUNTA(RespondentData!$A$2:$A$65536) 1 0
=OFFSET(RespondentData!$A$2,0,0,COUNTA(RespondentData!
$A$2:$A$65536),9) 1 0
=OFFSET(RespondentData!$G$2,0,0,COUNTA(RespondentData!
$G$2:$G$65536),1) 1 0
=OFFSET(RespondentData!$F$2,0,0,COUNTA(RespondentData!
$F$2:$F$65536),1) 1 0
=OFFSET(RespondentData!$A$2,0,0,COUNTA(RespondentData!
$A$2:$A$65536),1) 1 0
=OFFSET(RespondentData!$B$2,0,0,COUNTA(RespondentData!
$B$2:$B$65536),1) 1 0
=OFFSET(RespondentData!$C$2,0,0,COUNTA(RespondentData!
$C$2:$C$65536),1) 1 0
=RespondentData!$E65536 1 0
=RespondentData!$D65536 1 0
=RespondentData!$G65536 1 0
=RespondentData!$F65536 1 0
=RespondentData!$A65536 1 0
=RespondentData!$B65536 1 0
=RespondentData!$C65536 1 0
=RespondentData!$I65536 1 0
=RespondentData!$H65536 1 0
=OFFSET(Respondents!$A$2,0,0,COUNTA(Respondents!
$A$2:$A$65536),13) 1 0
=Respondents!$A1 1 0
=OFFSET(Respondents!$F$2,0,0,COUNTA(Respondents!$F$2:$F$65536),1) 1 0
=OFFSET(Respondents!$H$2,0,0,COUNTA(Respondents!$H$2:$H$65536),1) 1 0
=OFFSET(Respondents!$B$2,0,0,COUNTA(Respondents!$B$2:$B$65536),1) 1 0
=OFFSET(Respondents!$L$2,0,0,COUNTA(Respondents!$L$2:$L$65536),1) 1 0
=OFFSET(Respondents!$M$2,0,0,COUNTA(Respondents!
$M$2:$M$65536),1) 1 0
=Respondents!$D1 1 0
=Respondents!$G1 1 0
=Respondents!$F1 1 0
=Respondents!$I1 1 0
=Respondents!$H1 1 0
=Respondents!$B1 1 0
=Respondents!$C1 1 0
=Respondents!$E1 1 0
=Respondents!$L1 1 0
=Respondents!$J1 1 0
=Respondents!$M1 1 0
=Respondents!$K1 1 0
=Sectors!$I$2 1 0
=OFFSET(UniVerse!$A$14,0,0,COUNTA(UniVerse!$A$14:$A$65536),1) 1 0
=COUNTA(UniVerse!$A$14:$A$65536) 1 0
=OFFSET(Sectors!$A$2,0,0,COUNTA(Sectors!$A$2:$A$65536),8) 1 0
=COUNTA(SegmentNames!$A$2:SegmentNames!$A$65536) 1 0
=OFFSET(SegmentNames!$A$2,0,0,COUNTA(SegmentNames!
$A$2:$A$65536),2) 1 0
=UniVerse!$C$9 1 0
=UniVerse!$C$6 1 0
=UniVerse!$C$5 1 0
=OFFSET(Respondents!$E$2,0,0,COUNTA(Respondents!$E$2:$E$65536),1) 1 0
=UniVerse!$F$12 1 0
=UniVerse!$D$12 1 0
=UniVerse!$E$12 1 0
=UniVerse!$G$12 1 0
=UniVerse!$H$12 1 0
=OFFSET(UniVerse!$A$14,0,0,COUNTA(UniVerse!$A$14:$A$65536),14) 1 0
=OFFSET(UniVerse!$F$14,0,0,COUNTA(UniVerse!$F$14:$F$65536),1) 1 0
=OFFSET(RespondentData!$E$2,0,0,COUNTA(RespondentData!
$E$2:$E$65536),1) 1 0
Error External link Relative 3-D Areas Cells UnUsed
0 0 1 0 1 11214 Not checked
0 0 1 0 1 3192 Not checked
0 0 0 0 1 1 Not checked
0 0 0 0 1 1 Not checked
0 0 0 0 1 1 Not checked
0 0 0 0 1 12 Not checked
0 0 0 0 1 12 Not checked
0 0 0 0 1 1 Not checked
0 0 0 0 0 12 Not checked
0 0 0 0 1 12 Not checked
0 0 1 0 1 Not checked
0 0 0 0 1 10 Not checked
0 0 0 0 1 20787 Not checked
0 0 0 0 1 533 Not checked
0 0 0 0 1 533 Not checked
0 0 0 0 1 533 Not checked
0 0 0 0 1 533 Not checked
0 0 0 0 1 533 Not checked
0 0 0 0 1 533 Not checked
0 0 0 0 1 533 Not checked
0 0 0 0 1 533 Not checked
0 0 0 0 1 533 Not checked
0 0 0 0 1 533 Not checked
0 0 0 0 1 533 Not checked
0 0 0 0 1 533 Not checked
0 0 0 0 1 533 Not checked
0 0 0 0 1 533 Not checked
0 0 0 0 1 533 Not checked
0 0 0 0 1 533 Not checked
0 0 0 0 1 533 Not checked
0 0 0 0 1 533 Not checked
0 0 0 0 1 533 Not checked
0 0 0 0 1 533 Not checked
0 0 0 0 1 533 Not checked
0 0 1 0 1 533 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 1 0 1 1 Not checked
0 0 0 0 0 1 Not checked
0 0 0 0 0 Not checked
0 0 0 0 1 Not checked
0 0 0 0 1 14 Not checked
0 0 0 0 1 1 Not checked
0 0 0 0 1 1 Not checked
0 0 0 0 1 1 Not checked
Products =OFFSET(A8_Products!$C$2,0,0,ProductSerialCount,51) 1
Products.colL1IncSpend =OFFSET(A8_Products!$AI$2,0,0,ProductSerialCount,1) 1
Products.colL1Spend =OFFSET(A8_Products!$AC$2,0,0,ProductSerialCount,1) 1
Products.colL1Users =OFFSET(A8_Products!$W$2,0,0,ProductSerialCount,1) 1
Products.colL2IncSpend =OFFSET(A8_Products!$AJ$2,0,0,ProductSerialCount,1) 1
Products.colL2Spend =OFFSET(A8_Products!$AD$2,0,0,ProductSerialCount,1) 1
Products.colL2Users =OFFSET(A8_Products!$X$2,0,0,ProductSerialCount,1) 1
Products.colL3IncSpend =OFFSET(A8_Products!$AK$2,0,0,ProductSerialCount,1) 1
Products.colL3Spend =OFFSET(A8_Products!$AE$2,0,0,ProductSerialCount,1) 1
Products.colL3Users =OFFSET(A8_Products!$Y$2,0,0,ProductSerialCount,1) 1
Products.colL4IncSpend =OFFSET(A8_Products!$AL$2,0,0,ProductSerialCount,1) 1
Products.colL4Spend =OFFSET(A8_Products!$AF$2,0,0,ProductSerialCount,1) 1
Products.colL4Users =OFFSET(A8_Products!$Z$2,0,0,ProductSerialCount,1) 1
Products.colL5IncSpend =OFFSET(A8_Products!$AM$2,0,0,ProductSerialCount,1) 1
Products.colL5Spend =OFFSET(A8_Products!$AG$2,0,0,ProductSerialCount,1) 1
Products.colL5Users =OFFSET(A8_Products!$AA$2,0,0,ProductSerialCount,1) 1
Products.colProductName =OFFSET(A8_Products!$A$2,0,0,ProductSerialCount,1) 1
Products.colSectorName =OFFSET(A8_Products!$D$2,0,0,ProductSerialCount,1) 1
Products.colTotIncSpend =OFFSET(A8_Products!$AN$2,0,0,ProductSerialCount,1) 1
Products.colTotSpend =OFFSET(A8_Products!$AH$2,0,0,ProductSerialCount,1) 1
Products.colTotUsers =OFFSET(A8_Products!$AB$2,0,0,ProductSerialCount,1) 1
Products.colUPhones2001 =OFFSET(A8_Products!$H$2,0,0,ProductSerialCount,1) 1
Products.colUSpend2001 =OFFSET(A8_Products!$J$2,0,0,ProductSerialCount,0) 1
Products.CurrentLevel =A8_Products!$M7 1
Products.IncrementalSpend =A8_Products!$U7 1
Products.L1IncSpend =A8_Products!$AI7 1
Products.L1Spend =A8_Products!$AC7 1
Products.L1Users =A8_Products!$W7 1
Products.L2IncSpend =A8_Products!$AJ7 1
Products.L2Spend =A8_Products!$AD7 1
Products.L2Users =A8_Products!$X7 1
Products.L3IncSpend =A8_Products!$AK7 1
Products.L3Spend =A8_Products!$AE7 1
Products.L3Users =A8_Products!$Y7 1
Products.L4IncSpend =A8_Products!$AL7 1
Products.L4Spend =A8_Products!$AF7 1
Products.L4Users =A8_Products!$Z7 1
Products.L5IncSpend =A8_Products!$AM7 1
Products.L5Spend =A8_Products!$AG7 1
Products.L5Users =A8_Products!$AA7 1
Products.NCSpend =A8_Products!$R7 1
Products.NCUsers =A8_Products!$N7 1
Products.NewLevel =A8_Products!$O7 1
Products.NewSpend =A8_Products!$S7 1
Products.NewUsers =A8_Products!$P7 1
Products.Phones2001 =A8_Products!$F7 1
=OFFSET(A8_Products!
$D$1,VLOOKUP(Answers.Product,ProductIndex,3,FALSE
)-
1,0,VLOOKUP(Answers.Product,ProductIndex,4,FALSE),1
Products.ProductNameRange ) 1
=OFFSET(Products.UserBase,VLOOKUP(Answers.Produ
ct,ProductIndex,3,FALSE)-1,COLUMN()-
Products.ProductUserRange 3,VLOOKUP(Answers.Product,ProductIndex,4,FALSE),1) 1
Products.SpendNow =A8_Products!$L7 1
Products.SumIncSpend =A8_Products!$V7 1
Products.SvcDrivenSpend =A8_Products!$T7 1
Products.SvcDrivenUsers =A8_Products!$Q7 1
Products.TotIncSpend =A8_Products!$AN7 1
Products.TotSpend =A8_Products!$AH7 1
Products.TotUsers =A8_Products!$AB7 1
Products.Uphones2001 =A8_Products!$H7 1
Products.UPhonesNow =A8_Products!$G7 1
Products.UserBase =A8_Products!$W$1 1
Products.UsersNow =A8_Products!$K7 1
Products.USpend2001 =A8_Products!$J7 1
Products.USpendNow =A8_Products!$I7 1
ProductSerialCount =A4_Counts!$B$4 1
RespondentCount =COUNTA(A0_RespondentData!$A$2:$A$65536) 1
=OFFSET(A0_RespondentData!
RespondentData $A$2,0,0,RespondentCount,9) 1
=OFFSET(A0_RespondentData!
RespondentData.colPhones2001 $G$2,0,0,RespondentCount,1) 1
=OFFSET(A0_RespondentData!
respondentData.colPhonesNow $F$2,0,0,RespondentCount,1) 1
=OFFSET(A0_RespondentData!
RespondentData.colRespondentSerial $A$2,0,0,RespondentCount,1) 1
=OFFSET(A0_RespondentData!
RespondentData.colSector_Code $B$2,0,0,RespondentCount,1) 1
=OFFSET(A0_RespondentData!
RespondentData.colSegmentCode $C$2,0,0,RespondentCount,1) 1
RespondentData.Emps_2001 =A0_RespondentData!$E2 1
RespondentData.Emps_Now =A0_RespondentData!$D2 1
RespondentData.Phones2001 =A0_RespondentData!$G2 1
RespondentData.PhonesNow =A0_RespondentData!$F2 1
RespondentData.RespondentSerial =A0_RespondentData!$A2 1
RespondentData.Sector_Code =A0_RespondentData!$B2 1
RespondentData.SegmentCode =A0_RespondentData!$C2 1
RespondentData.Spend2001 =A0_RespondentData!$I2 1
RespondentData.SpendNow =A0_RespondentData!$H2 1
RespondentIx =A8_Products!$B7 1
=OFFSET(A6_Respondents!
Respondents $A$2,0,0,RespondentCount,13) 1
Respondents.Channel =A6_Respondents!$A2 1
=OFFSET(A6_Respondents!
Respondents.colPowerScalePhonesnow $F$2,0,0,RespondentCount,1) 1
=OFFSET(A6_Respondents!
Respondents.colPowerScaleSpendNow $H$2,0,0,RespondentCount,1) 1
=OFFSET(A6_Respondents!
Respondents.colSectorName $B$2,0,0,RespondentCount,1) 1
=OFFSET(A6_Respondents!
Respondents.colUphones2001 $L$2,0,0,RespondentCount,1) 1
=OFFSET(A6_Respondents!
Respondents.colUspend2001 $M$2,0,0,RespondentCount,1) 1
Respondents.PhoneScaleFactor =A6_Respondents!$D2 1
Respondents.PowerScalePhones2001 =A6_Respondents!$G2 1
Respondents.PowerScalePhonesnow =A6_Respondents!$F2 1
Respondents.PowerScaleSpend2001 =A6_Respondents!$I2 1
Respondents.PowerScaleSpendNow =A6_Respondents!$H2 1
Respondents.SectorName =A6_Respondents!$B2 1
Respondents.SegmentName =A6_Respondents!$C2 1
Respondents.SpendScaleFactor =A6_Respondents!$E2 1
Respondents.Uphones2001 =A6_Respondents!$L2 1
Respondents.UPhonesNow =A6_Respondents!$J2 1
Respondents.Uspend2001 =A6_Respondents!$M2 1
Respondents.USpendNow =A6_Respondents!$K2 1
scalepower =A5_Sectors!$I$2 1
Sector =OFFSET(A3_UniVerse!$A$14,0,0,SectorCount,1) 1
SectorCount =COUNTA(A3_UniVerse!$A$14:$A$65536) 1
Sectors =OFFSET(A5_Sectors!$A$2,0,0,SectorCount,8) 1
SegmentCount =A4_Counts!$B$6 1
=OFFSET(A2_SegmentNames!
SegmentNames $A$2,0,0,SegmentCount,2) 1
ServiceDriven_Users_Yield =A3_UniVerse!$C$9 1
SignificantFactor =A3_UniVerse!$C$6 1
SlightFactor =A3_UniVerse!$C$5 1
=OFFSET(A6_Respondents!
Spendscalefactor $E$2,0,0,RespondentCount,1) 1
TotalEmps =A3_UniVerse!$F$12 1
TotalMobPhones =A3_UniVerse!$D$12 1
TotalMobSpend =A3_UniVerse!$E$12 1
TotalOurPhones =A3_UniVerse!$G$12 1
TotalOurSpend =A3_UniVerse!$H$12 1
Universe =OFFSET(A3_UniVerse!$A$14,0,0,SectorCount,14) 1
Universe.Emps =OFFSET(A3_UniVerse!$F$14,0,0,SectorCount,1) 1
Universe.Emps2001 =OFFSET(A0_RespondentData!$E$2,0,0,SectorCount,1) 1
Local name Error External link Relative 3-D Areas Cells UnUsed
1 0 0 0 0 1 3192 Not checked
1 0 0 0 0 1 10680 Not checked
0 0 0 1 0 1 1 Not checked
0 0 0 1 0 1 1 Not checked
0 0 0 0 0 1 1 Not checked
0 0 0 0 0 1 12 Not checked
0 0 0 0 0 1 12 Not checked
0 0 0 0 0 1 1 Not checked
0 0 0 0 0 1 12 Not checked
0 0 0 0 0 1 12 Not checked
0 0 0 0 0 0 Not checked
0 0 0 0 0 0 Not checked
0 0 0 0 0 0 Not checked
0 0 0 1 0 1 1 Not checked
0 0 0 1 0 1 1 Not checked
0 0 0 1 0 1 1 Not checked
0 0 0 1 0 1 1 Not checked
0 0 0 1 0 1 1 Not checked
0 0 0 1 0 1 1 Not checked
0 0 0 1 0 1 1 Not checked
0 0 0 1 0 1 1 Not checked
0 0 0 1 0 1 1 Not checked
0 0 0 0 0 1 1 Not checked
0 0 0 1 0 1 1 Not checked
0 0 0 1 0 1 1 Not checked
0 0 0 1 0 1 1 Not checked
0 0 0 0 0 1 1 Not checked
0 0 0 0 0 0 Not checked
0 0 0 0 0 1 14 Not checked
0 0 0 0 0 1 1 Not checked
0 0 0 0 0 1 1 Not checked
0 0 0 0 0 1 1 Not checked
0 0 0 0 0 1 12 Not checked