Formula Methods in Excel. Optimising calculations in Excel workbooks

Size: px
Start display at page:

Download "Formula Methods in Excel. Optimising calculations in Excel workbooks"

Transcription

1 Formula Methods in Excel Optimising calculations in Excel workbooks This Excel formula manual is suitable for Excel users of all levels. Rather than just focus on individual functions and formula methods, this course takes a deeper look at how Excel evaluates formulae, and focuses on the most efficient methods available. Jon von der Heyden 3/23/2011 P

2 System Requirements At the time of writing the latest version of Microsoft Excel for Windows is office version 14, Excel This document is written specifically for office versions for Windows PC. Unless otherwise stated all functions and methods are supported in Excel 2003, 2007 and Formula Methods in Excel Jon von der Heyden 2011 Page 1

3 About Excel Design Solutions There has been much debate amongst some of the professionals that frequent the Excel forums on what makes a true Excel modeller/developer. Some suggest that having a thorough knowledge of Excels rich features and functionality is unnecessary, favouring business skills and experience. Some even suggest having little or no VBA programming experience is ok too. Some, on the other hand, have suggested that all one requires is the technical skills and experience, and that it is down to the client to communicate the requirements. We at Excel Design Solutions believe that a true Excel professional modeller/developer must have exceptional technical Excel knowledge and have exceptional business acumen. That is why you will find that each of our consultants participate at the various Excel web forums on an endless quest to improve our knowledge by addressing other users and developers challenges. Each of our consultants have worked in business for many years and established themselves as business experts in their chosen fields. In fact, forum participation and a back-bone in business is a requirement to any individual seeking opportunities within Excel Design Solutions. We don t have a large employee base. Whilst we do work directly on projects we do also seek and approach known Excel and business experts to collaborate in our assignments on a per project basis. Being so directly involved in the forums and the Excel community we have established relationships with the best in the field and we collaborate with these individuals on an as-need basis. For more information on what Excel Design Solutions can do for you, or to get in touch with someone at Excel Design Solutions, visit the website: Formula Methods in Excel Jon von der Heyden 2011 Page 2

4 About Jon von der Heyden (The Author) Jon is one of the co-founders of Excel Design Solutions, founded in He has over ten years experience in finance analysis and commercial management positions. His speciality is management accounting and he relishes complex financial modelling assignments. Jon initially pursued a career in IT, having studied webdesign and E-commerce, but was later nudged toward finance when working for a large UK telecoms company back in Although not a qualified management accountant, this subject interests Jon most and he has spent much time tutoring many CIMA graduates by teaching the practical applications of the many management accounting methodologies using Excel. Jon has spent much of his years working on reorganisation projects as a senior analyst. He specialises in cost analysis, activity-based costing and cost improvement. Achieving cost improvement has often lead Jon into the various business operations giving Jon valuable insight into the business functions. Process improvement and automation has been the key to Jon s successes. Jon has also been involved in plenty of other projects including outsource, supply chain management and revenue generating projects. Jon s most recent experience as a company employee was working in shared services for an international multi-conglomerate where he acquired 5 years international experience controlling cost opportunity projects and playing an integral role in the implementation of the shared services global product catalogue and efficiencies in service delivery and financial planning. Formula Methods in Excel Jon von der Heyden 2011 Page 3

5 Table of Contents System Requirements... 1 About Excel Design Solutions... 2 About Jon von der Heyden (The Author)... 3 Index of Tables... 8 Introduction Back to Basics Basic Anatomy of an Expression Translating an Expression into an Excel Formula Statistical Notations and Worksheet Functions (Capital) Sigma, SUM and SUMPRODUCT X bar, AVERAGE Introduction to Excel Formula Basic Anatomy of an Excel Formula Operators Calculation Order and Operator Precedence Cell Referencing D References Union References Intersecting Ranges Reference Notation Defined Names Array (CSE) formulae Array Constants How the Excel Recalculation Engine Works Dependency Trees Volatile Functions Events that Trigger Recalculation Calculation Methods Data Types, Interpretation and Precision Data Types Numbers Booleans Formula Methods in Excel Jon von der Heyden 2011 Page 4

6 Errors Text Floating Point-Precision Loss of Precision When Using Very Large Numbers Loss of Precision When Using Very Small Numbers Boolean Logic Coercion AND Logic OR Logic Date and Time Values Introducing Worksheet Functions Data Type Conformity Nested Worksheet Functions Optional Arguments Logical and Information Functions AND() OR() NOT() ISBLANK() ISNA() IF() Lookup Functions LOOKUP() MATCH() VLOOKUP() HLOOKUP() INDEX() CHOOSE() Further Lookup Tips Binary Search versus Linear Search Math and Statistical Functions ROUND() MROUND() ROUNDUP() CEILING() Formula Methods in Excel Jon von der Heyden 2011 Page 5

7 ROUNDDOWN() FLOOR() INT() MOD() MAX() MIN() LARGE() SMALL() SUMPRODUCT() COUNTIF() SUMIF() COUNTIFS() SUMIFS() Text Functions TRIM() LEN() REPLACE() SUBSTITUTE() MID() LEFT() RIGHT() FIND() SEARCH() EXACT() Date Functions DATE() EDATE() EOMONTH() DATEDIF() WEEKNUM() NETWORKDAYS() WORKDAY() Database Functions DSUM() DAVERAGE() Formula Methods in Excel Jon von der Heyden 2011 Page 6

8 DCOUNT() DGET() DMAX() DMIN() Database Function Examples Dynamic Named Ranges When to Use Dynamic Named Ranges One-Dimensional Dynamic Range Dynamic Ranges Numbers Only Dynamic Ranges Text Only Multi-Dimensional Dynamic Ranges Using Tables Auditing Formula Funky formulae Get the Month Number of a Financial Year Get the Week Number of a Financial Year Repeat Each Item in a Table n Times Repeat a Table n Times Get the n th Element from a String based on a given Delimiter Dimensional SUMIF Multi-Criteria Lookups Vlookup returning Multiple Results Variable Discounting using Differential Rates Extract Numbers from an Alpha-numeric String Extract a Date from a Text String Calculate the Last Used Row in a Column (useful for Dynamic Ranges) Locate a Break-Even Point Shortcuts Control Keys Function Keys Limitations Table Formula Methods in Excel Jon von der Heyden 2011 Page 7

9 Index of Tables Table 1-1 Summing the X and Y values separately Table 1-2 Summing the XY products Table 1-3 Summing the X and Y values separately using SUM Table 1-4 Summing the XY products using SUMPRODUCT Table 1-5 Arithmetic Operators Table 1-6 Comparison Operators Table 1-7 Text Operators Table 1-8 Reference Operators Table 1-9 Wildcard Operators Table 1-10 Operator Precedence Table 1-11 Using parenthesis to change calculation order Table 1-12 Aggregating unioned references Table 1-13 Aggregating intersecting references Table 1-14 R1C1 Notation Table 1-15 Demonstrating name scope recognition Table 1-16 Aggregating an Inline Array Constant Table 1-17 Aggregating an Array Table 1-18 An Array Entered Formula Table 2-1 List of Strictly Volatile Functions Table 2-2 Recalculation Event Triggers Table 3-1 List of error types Table 3-2 Example loss of precision when using very large numbers Table 3-3 Example loss of precision when using very small numbers Table 3-4 Coercing boolean values to digital values Table 3-5 Coercing an array of boolean values to an array of digital values Table 3-6 AND Logic Truth Table Table 3-7 OR Logic Truth Table Table 4-1 Basic anatomy of a worksheet function Table 4-2 Demonstrating the distinct advantage of using SUM over a classic addition expression Table 4-3 VLOOKUP, exact match and approximate match syntax Table 4-4 Demonstrating nested worksheet functions within a formula Table 4-5 Boolean logic, multiplying logical tests to avoid function calls and evaluation steps Table 4-6 Performing a right-to-left lookup with INEX and MATCH Table 4-7 Yielding an intersecting range using INDEX Table 4-8 Yielding a range using INDEX to return a range operand Table 4-9 Handling lookup error values Table 4-10 Rounding to the nearest desired multiple using ROUND Table 4-11 Rounding up to the nearest desired multiple using CEILING Table 4-12 Extracting a date from a date and time stamp Table 4-13 Extracting the time from a date and time stamp Table 4-14 Summing the nth item in an array using MOD; a stepped approach Table 4-15 Using MIN and MAX to avoid IF function calls Table 4-16 Summing the top n values in an array using SUM and LARGE Table 4-17 Sum or Count a range using multiple criteria with SUMPRODUCT Table 4-18 Identifying duplicates in a range of values using COUNTIF Formula Methods in Excel Jon von der Heyden 2011 Page 8

10 Table 4-19 Sum values in a range based on multiple criteria in the same criteria range Table 4-20 Summing values that correspond to empty cells using SUMIF Table 4-21 Summing cells that correspond to non-empty cells using SUMIF Table 4-22 Sum values between two dates using SUMIF Table 4-23 Offsetting the sum range in SUMIF Table 4-24 Dropping leading characters with MID and REPLACE Table 4-25 Return a serial date exactly n months before or after a specified date Table 4-26 Return the 1 st and last day of the month of a given date Table 4-27 DATEDIF interval values Table 4-28 Aggregating results with D Functions with a single criterion Table 4-29 Aggregating results with D Functions using multiple criteria (OR logic) Table 4-30 Aggregating results with D Functions using multiple criteria (AND logic) Table 5-1 Dynamic Table of Holiday Dates Table 6-1 Table reference syntax Formula Methods in Excel Jon von der Heyden 2011 Page 9

11 Introduction This material really is intended for anybody. Even the more advanced users are unlikely to know 60% of this material. The only two mandatory criteria in candidates are: He or she must want to learn Excel. He or she must really want to learn Excel! This material focuses on formulae methods exclusively. Why? Because this is where 90% (or more) of models go wrong! formulae are probably the single most powerful feature Excel offers and on which outputs are most heavily dependent on. And let s face it Excel is huge! You could spend 2 hours a day studying Excel for a year and you still won t scratch the surface. All studying Excel has ever done for me is reveal how much more there is to explore, and give me a hunger to learn more. This material starts with a gentle stroll as we explore some of the basics of formulae and understand how Excel interprets formulae and computes the results. By the end we will be exploring complex expressions, nesting functions, using array formulae, names, dynamic ranges, tables and all sorts of other exciting stuff! For now, let us just assume EXCEL CAN DO ANYTHING (except make toast!). Formula Methods in Excel Jon von der Heyden 2011 Page 10

12 1. Back to Basics Let us start by asking, what is a formula? A formula, in Excel, is an expression entered into a range or name that is recognised by Excel such that it can be processed by its calculation engine to produce a result. Basic Anatomy of an Expression Example: 3X 2-4X + 5XY + 3X Term: There are four terms in the given expression. They are, respectively, 3X 2 ; -4X; 5XY; 3X Sign: The sign of a term is whether it is positive or negative. Only the second of these four terms is negative. When we write a positive term on its own we don t bother to write the + sign before it. Term Type: This refers only to the part of the term that is written in letters. Thus, the first term of this expression is an X-squared term, the second term is an X term, the third an XY term and the fourth and last is an X term. Coefficients: The coefficient of a term is the number at the front of it. The coefficient tells us how many of each term type there are. Like Term: When term types are the same they are known to be like terms. In this example -4X and 3X are like terms. The phrase collecting like terms refers to the process of putting like terms together into a single term. For example, collecting -4X and 3X can be represented in a single term -X (note the exclusion of the coefficient 1, which is always assumed to be 1 when omitted). Translating an Expression into an Excel Formula Example: = 3*A1^2 4*A1 + 5*A1*B1 + 3*A1 In this example we have substituted the letter X for reference A1, and the letter Y for cell reference B1. The only way to tell Excel that an entry in a cell is an expression, and that it is to be passed to its calculation engine for processing, is to prefix the expression with an equals symbol or unary symbol. The former is more commonly used and recommended. Excel demands that we be much more explicit when describing an expression. For instance, we know from the previous example that the term 3X 2 means that there are 3 X-squared terms. In Excel, we need to explicitly multiple the term three times, hence 3*X 2. Formula Methods in Excel Jon von der Heyden 2011 Page 11

13 Statistical Notations and Worksheet Functions The use of the term notation in the following context needs clarification. In statistics, notations might refer to symbols used to represent an instruction on how to process a term. Let us explore two common notations used in statistics. (Capital) Sigma, The first most common symbol in expressions is the Greek letter capital sigma, written as. This is not to be confused with the lower case Greek letter sigma, which is used to measure spread, called the standard deviation. The sigma we refer to,, is an instruction to add a set of numbers together. So, X means to add together all of the X values. Similarly, XY means add together all of the XY products. For example: X Y X = Y = = 10 = 3 Table 1-1 Summing the X and Y values separately To find XY, it is necessary to calculate all of the five separate products of X times Y and then add them together, thus; X Y XY XY = = 20 Table 1-2 Summing the XY products SUM and SUMPRODUCT The notations used in expressions are not available to us in Excel formula, that is, Excel does cannot interpret these symbols and the anatomy of these expressions. Instead, we pass instruction to Excel using Worksheet Functions. Formula Methods in Excel Jon von der Heyden 2011 Page 12

14 The instruction X, meaning add together all of the X values, is passed to Excel using the SUM worksheet function. For example: A 1 X Y X = SUM(A2:A6) Y = SUM(B2:B6) 8 = 10 = 3 Table 1-3 Summing the X and Y values separately using SUM B The instruction XY, meaning add together all of the XY products, is passed to Excel using the SUMPRODUCT worksheet function, thus; A B C 1 X Y XY XY = SUMPRODUCT(A2:A6,B2:B6) 8 = 20 Table 1-4 Summing the XY products using SUMPRODUCT Note that we do not need to make any reference to column C. X bar, Perhaps the second most common symbol in expressions is the X bar, represented by the symbol. This refers to the mean of the X values. A mean is the most common form of average, where one adds up the X values and divide it by the count of the X values; thus can also represented by the following expression: = AVERAGE Again, Excel is not able to interpret the X bar symbol in an expression. Instead we need to pass the instruction to Excel using the AVERAGE worksheet function. Using the preceding examples, the instruction to calculate the mean of the X values can be passed using the following expression: =AVERAGE(A2:A6) Formula Methods in Excel Jon von der Heyden 2011 Page 13

15 Introduction to Excel Formula In the previous chapter we looked at expressions and how one would translate these expressions into syntax that Excel can interpret. We also introduced a few worksheet functions. Let us now explore the anatomy of a typical Excel formula, with an embedded worksheet function, using the appropriate Excel terminology. Basic Anatomy of an Excel Formula A formula can contain any or all of the following: [worksheet] functions, references, operators and constants. Example: = ROUND(A1+A2,2) = ROUND(TotalSales,2) Function: ROUND is a function used to round a number to n decimal points, in this example 2. References: References include cell addresses and names. In the given formula A1, A2 and TotalSales are all examples of references, with the latter being a name. Operators: There are five categories of operators; arithmetic, comparison, text concatenation and reference. In the given formula the + (plus) is an example of an arithmetic operator, and the 2 nd = (equals) is an example of a comparison operator. Constants: A constant is a value that is not calculated. Any value resulting from an expression is not a constant. In the given formula the #2 is an example of a constant. Operators Operators specify the type of calculation that you want to perform on the elements of a formula. There is a default order in which calculations occur, generally following mathematical rules, but that can be changed using parenthesis. ARITHMETIC OPERATOR MEANING EXAMPLE + (plus) Addition = (minus) Subtraction = 5-4 * (asterisk) Multiplication = 10*10 / (forward slash) Division = 10/2 % (percent) Percent = 50% ^ (caret) Exponentiation = 2^2 Table 1-5 Arithmetic Operators Arithmetic operators always yield a numeric data type result. Formula Methods in Excel Jon von der Heyden 2011 Page 14

16 COMPARISON OPERATOR MEANING EXAMPLE = Equal to = A1=B1 > Greater than = A1>B1 < Less than = A1<B1 >= Greater than or equal to = A1>=B1 <= Less than or equal to = A1<=B1 <> Not equal to = A1<>B1 Table 1-6 Comparison Operators Comparison operators always yields a logical data type result (i.e. TRUE or FALSE). TEXT OPERATOR MEANING EXAMPLE & (ampersand) Concatenates two operands = A1 & B1 Table 1-7 Text Operators The text operator always yields a string data type result, even if the operands are numerical values. REFERENCE OPERATOR MEANING EXAMPLE : (colon) Range operator, producing a single reference of all cells = A1:B10 contained within each given reference., (comma) Union operator, combining multiple references into a = A1:A10,C1:C10 single reference. (space) Intersection operator, producing a reference of cells common to two given references. = B7:D7 C6:C8 Table 1-8 Reference Operators Reference operators always yield a range data type result, specifically a range object. WILDCARD OPERATOR MEANING EXAMPLE * (asterisk) Matches any number of characters. =COUNTIF(A1, *XYZ* )? (question mark) Matches any single character. =COUNTIF(A1,? & XYZ ) ~ (tilde) Matches the literal trailing character. =COUNTIF(A1, ~* ) Table 1-9 Wildcard Operators Wildcard operators are used in text comparison statements. Formula Methods in Excel Jon von der Heyden 2011 Page 15

17 Calculation Order and Operator Precedence It probably comes as no surprise to learn that Excel calculates formulae in a very specific order. A formula in Excel always begins with an equal sign (=). Following the equal sign are the elements (operands) to be calculated, such as constants or references. These are separated by calculation operators. Excel calculates the formula from left to right, according to a specific order for each operator in the formula. RANK OPERATOR DESCRIPTION 1 : (colon) Reference operators (space), (comma) 2 - Negation (e.g. -1) 3 % Percent 4 ^ Exponentiation 5 * and / Multiplication and division 6 + and - Addition and Subtraction 7 & Concatenation 8 = Comparison <> <= >= <> Table 1-10 Operator Precedence To change the order of calculation, enclose the part of the formula to be calculated first in parenthesis. EXAMPLE EXPRESSION = 5+5*2 = (5+5)*2 = 5+(5*2) = 10*2 = 5+10 =20 = 15 Table 1-11 Using parenthesis to change calculation order Cell Referencing Relative References: A relative reference in a formula, such as A1, is based on the relative position of the cell that contains the formula and cell that the reference refers to. If the cell position of the formula changes then the cell referenced by the formula will change relatively too. Absolute References: An absolute reference in a formula, such as $A$1, always refers to a cell in a specific location. If the cell position of the formula changes then the cell referenced by the formula will not change. In A1 notation column and row references are flagged as absolute by prefixing the column and row with the $ (dollar) symbol, also referred to as an anchor. Mixed References: A mixed reference has either an absolute column and a relative row, or an absolute row and a relative column. What this means, essentially, is that either only a column or a row is anchored. $A1 tells us that the column reference, A, will not change when this formula cell changes in position. The row reference however will change relative to the position. Conversely, A$1, tells us that the row reference, 1, will not change when this formula cell changes in position. The column, however, has not been anchored and will change relatively. Formula Methods in Excel Jon von der Heyden 2011 Page 16

18 3-D References Harnessing multiple sheets in your calculations can be used in such a manner that they introduce to us a 3 rd dimension. Use a 3-D reference if you wish to analyse the same cell, or range of cells, on multiple worksheets in a workbook. Example: =SUM(Sheet1:Sheet5!A1:A10) In this example values housed in A1:A10, within all sheets positioned between and including Sheet1 and Sheet 5, are summed up to yield a result. Union References Union references, i.e. cell references separated with the comma (,) separator, allow us to create references to non-contiguous ranges. A B C =SUM(A1,B2,C3) Table 1-12 Aggregating unioned references Intersecting Ranges You can aggregate values from an intersection of two range references. In other words, only the components that falls within both range references is taken into account. A B C D 1 NWE SWE NEE 2 Sales COGS Gross Margin =NWE COGS Table 1-13 Aggregating intersecting references Formula Methods in Excel Jon von der Heyden 2011 Page 17

19 Reference Notation In Excel, references conform to one of two notations, namely A1 reference style or R1C1 reference style. The former is the default but either is acceptable. A1 Notation: In A1 reference style columns are represented by letters A:IV (Excel 2003 and earlier versions) or A:XFD (Excel 2007 and subsequent versions). Rows are numbered. In this reference style columns and rows are anchored by suffixing the column or row reference with a $ (dollar symbol). R1C1 Notation: In R1C1 reference style both columns and rows are numbered. Cell references are displayed in terms of their relationship to the cell that contains the formula rather than their actual position on the grid. Cells are referred to by relative notation. Relative references have numbers in square brackets. REFERENCE R[-2]C RC[-2] R[2]C[2] R2C2 R[-1] C[-1] R C RC Table 1-14 R1C1 Notation MEANING A mixed reference to the cell two rows up and in the same column. A mixed reference to the cell in the same row and two columns to the left. A relative reference to the cell two rows down and two columns to the right. An absolute reference to a cell in the 2 nd row and 2 nd column (i.e. B2). A relative reference to the entire row above the active cell. A relative reference to the entire column to the left of the active cell. An absolute reference to the current row. An absolute reference to the current column. An absolute reference to the active cell. Defined Names You can create names to represent cells, ranges of cells, formulae, constants, array constants or Excel tables. A name is a meaningful shorthand that makes it easier to understand the purpose of a reference in a formula. When to use names: To represent cells, or ranges of cells, that will be frequently referenced in formulae, pivot tables and charts. To house constants that will be frequently referenced in formulae. To facilitate dynamic range references to be used in formulae, pivot tables and charts. Dynamic ranges are generated using formulae. All names have a scope, either to a specific worksheet (referred to as local scope) or to the entire workbook (referred to as global scope). The scope of a name is the location within which the name is recognised without qualification. For example, if you have a name such as Budget_FY11, and its scope is Sheet1, that name, if not qualified, is recognised only in Sheet, but not in other sheets without qualification. Formula Methods in Excel Jon von der Heyden 2011 Page 18

20 NAME REFERS TO SCOPE Test = Sheet Sheet1 Test = Workbook Workbook FORMULA LOCATION RESULT = Test Sheet1 Sheet = Sheet1!Test Sheet1 Sheet = Test Sheet2 Workbook = Sheet1!Test Sheet2 Sheet Table 1-15 Demonstrating name scope recognition Array (CSE) formulae An array formula can perform multiple calculations and then return either a single result or multiple results. Array formulae act on two or more sets of data known as array arguments. One creates array formulae in the same manner in which one produces normal formula, but the instruction to process the formula as an array formula is given by confirming the formula entry with Control+Shift+Enter. If done properly Excel encapsulates the formula in curly brackets {}. Do not attempt to manually type in the curly brackets. This form of formula is also commonly referred to as CSE formula because of the need to commit it with Control+Shift+Enter. The first type of array formula, i.e. the ones used to yield a single result, offers us endless possibilities, but unfortunately they are also known to add significant overhead to the calculation process. This is not always true, and in fact array formulae have received bad publicity, as in some manners of use actually can reduce the overhead in the calculation process. Best practise suggest that we use array formula in moderation and consider adopting a stepped approach as an alternative (i.e. using helper cells, columns and rows). But for the budding formula guru, I suggest experimenting with both array formula and classic methods using stepped approach and then note the changes in calculation times and draw your own conclusions on when it is acceptable, or not, to use array formulae. Sometimes practicality must prevail over efficiency, provided that the methods used are not grossly inefficient. When we create a single result array formula we pass it an array of variable values or an array of constant values. The array on its own serves little purpose. Instead we have to pass an instruction to Excel on how to aggregate the array, typically using SUM, AVERAGE or COUNT. FORMULA RESULT COMMENT {={1;2;3;4;5;6;7;8;9;10}} 1 If you were to enter this formula in cell A1, and commit with CSE, Excel will yield a result of 1 (the first array item). To aggregate a result one must pass an instruction to Excel telling it what form of aggregation to apply to the items in the array. {=SUM({1;2;3;4;5;6;7;8;9;10)} 55 Here the result is 55 because Excel has received an instruction to SUM each item in the array. Table 1-16 Aggregating an Inline Array Constant Formula Methods in Excel Jon von der Heyden 2011 Page 19

21 FORMULA RESULT COMMENT {=ROW(1:10)} 1 In this example Excel is told to yield an array of values associated with the given row numbers. Again this is rather pointless, unless the array is used for some form of aggregation. {=SUM(ROW(1:10))} 55 Excel yields a result of 55, the SUM of each item in the array. Table 1-17 Aggregating an Array The exhibit in table 1.16 demonstrates the syntax of an inline array constant array formula. When passing inline array constants Excel automatically recognises that it should treat the formula as an array formula. Therefore it is not necessary to explicitly pass instruction to Excel using CSE. Thus; =SUM({1;2;3;4;5;6;7;8;9;10}) will yield the same result as; {=SUM({1;2;3;4;5;6;7;8;9;10)} The exhibit in table 1.17 demonstrates the syntax of an array formula calling a variable array. This form of an array formula does require that we explicitly pass Excel an instruction to treat the formula as an array formula. However, the SUMPRODUCT function aggregates its results using array formula method and thus we are not explicitly required to instruct Excel to treat SUMPRODUCT like an array formula. When passing a single array of values to SUMPRODUCT, SUMPRODUCT can only yield a summation of those values. Thus; {=SUM(ROW(1:10))} will yield the same result as; SUMPRODUCT(ROW(1:10)) The use of SUMPRODUCT in this context is recommended because it avoids someone inadvertently recommitting the formula without CSE. The LOOKUP and FREQUENCY function are also capable of processing arrays without CSE. An exception to this is when the TRANSPOSE function is used within an array formula argument. The latter form of an array formula mentioned is the type that yields multiple results. This form is commonly referred to as an array entered formula. A typical example would be to explore the TRANSPOSE worksheet function. TRANSPOSE is used to copy an array of values and yield a result of opposite orientation or dimension. A B C 1 X Y Z 2 3 X 4 Y {=TRANSPOSE(A1:C1)} 5 Z Table 1-18 An Array Entered Formula In this example one would first select range A3:A5, then type the formula, and then commit with CSE. It is not necessary to anchor any of the references as none will move relatively. Excel knows to handle the range as an array of values. There are two effects of an array entered formula that one need be aware of: Formula Methods in Excel Jon von der Heyden 2011 Page 20

22 1. One cannot change a single element of the array (in this example A3:A5). The array needs to be handled as a single entity, thus if changes are required one needs to select the entire range, enter the revised formula, and commit with CSE. 2. As a result of (1) above, one cannot delete a row or column that intersects an array entered formula range. In the above example one could delete column A because the entire array range is contained within that column. One cannot however delete row 3, 4 or 5 because each intersects with the array entered formula range. Deleting all rows 3:5 (in one hit) is permissible for the same reason that one can delete column A. Array Constants Array constants, that have had brief mention in the section above, are merely arrays that remain constant. Array constants can contain text, numbers, logical values or error values. Numbers, logical values and errors can be typed in as is. Text values must be enclosed in speech marks. When you enter array constants make sure you: 1. Enclose them in curly brackets {}. 2. Denote column partitions with a comma (,). 3. Denote row partitions with a semi-colon (;). Example: {1,2;3,4} This example demonstrates an array comprising of two rows and two columns. Array constants can be entered in names or directly within formula. When entered directly into a formula they are referred to as inline array constants. Inline arrays and names arrays need to be treated as two separate animals: NAMED ARRAY (not CSE entered) NAMED ARRAY (CSE entered) INLINE ARRAY CONSTANT =SUM(myarray) =8 {=SUM(myarray)} =8 =SUM({3;5}) =8 =SUM(myarray)+1 =9 {=SUM(myarray)+1} =9 =SUM({3;5})+1 =9 =SUM(myarray+1) =4 {=SUM(myarray+1)} =10 =SUM({3;5}+1) =10 One is not required to CSE commit an array formula with an inline array constant, it is a given. But one must be cautious when referring to named arrays because the behaviour does not appear to be consistent. On first review it appears as though it is not necessary to CSE commit formula with named array references. However, look at the 3 rd exhibit under NAMED ARRAY (not CSE entered). This rendition does need to be CSE committed. Of course in this example the entire issue can be overcome by using SUMPRODUCT, but that s not the point. The same issue would apply using other aggregate functions, such as AVERAGE. The recommendation here is, when in doubt use CSE to commit the formula. Formula Methods in Excel Jon von der Heyden 2011 Page 21

23 2. How the Excel Recalculation Engine Works Excel uses a complex algorithm for choosing the fastest route and the minimum number of cells required to calculate a formula result. Excel s recalculation engine normally optimises calculation time by tracking changes and only recalculating: Cells, formula, values or names that have changed since the last calculation. Cells dependent on other cells, formulae, names or values that need recalculation. The exceptions to the statements above are: Volatile functions are always calculated. Full calculation (Control+Alt+F9) will force calculation of all formulae. Having more than dependencies causes full calculation to be invoked. Names that are not called anywhere in a worksheet are never calculated. Names are calculated each time they are referenced by a formula that is recalculated. Dependency Trees Excel tracks changes since the last recalculation and builds dependency trees in an attempt to reduce calculation time. These prompt Excel to recalculate only: Formulae that have changed. Names that have changed. Volatile functions. Formulae dependent on changed or volatile formulae, names or cells. Dependency trees are immediately updated whenever a formula is entered or changed. In Excel 2002 and later you can force Excel to rebuild the dependency trees by hitting Control+Alt+Shift+F9. In complex formula-based models, Excel may spend considerable time and memory building and evaluating the dependency trees. In versions prior to Excel 2007 dependency trees will only store up to dependencies to unique references. Where complex formula-based models near that limit it is not unusual to find full calculation faster than recalculation. Formula Methods in Excel Jon von der Heyden 2011 Page 22

24 How do you know when you are exceeding the dependency tree limit? The word calculate persists in the status bar despite invoking recalculation. Note, calculate will also display in the status bar when: o Calculation option has been set to manual and the workbook contains uncalculated formulae. o The iteration option is turned on and the workbook contains circular references. o You are using Excel 2007 or later and have set Workbook ForceFullCalculation to True. Changing a cell and tabbing to another cell takes a long time. Dependency trees are categorised as follows: Within Sheet Dependency Trees Inter Sheet Dependency Trees Inter Workbook Dependency Trees Formulae with references to other sheets are known to take longer to calculate. formulae with references to other workbooks are also known to take longer to calculate, sometimes quite significantly. One should always consider strongly whether or not to link to other workbooks, and perhaps favour storing the external data directly within the same workbook (e.g. by using a query table). Volatile Functions A volatile function is a worksheet function that Excel has determined must be recalculated at each recalculation, regardless of whether or not any of its precedents have changed. A function is not always strictly volatile or non-volatile. Some functions behave in a volatile manner depending on the manner in which it is used. There are however a number of functions that are strictly volatile, namely: FUNCTION RAND NOW TODAY OFFSET CELL INDIRECT INFO COMMENT Generates a new random number each time recalculation is invoked. Returns the current date and time (from the system date and time) each time recalculation is invoked. Returns the current date (from the system date) each time recalculation is invoked. Returns a reference offset from a given reference. Returns information about the formatting, location, or contents of a cell. Returns a reference indicated by a text value. Returns information about the current operating environment. Table 2-1 List of Strictly Volatile Functions The SUMIF function can also behave in a volatile manner depending on the manner in which it is used. VOLATILE =SUMIF(A1:A10, <>0,B1) NON-VOLATILE =SUMIF(A1:A10, <>0,B1:B10) Formula Methods in Excel Jon von der Heyden 2011 Page 23

25 The differences between the two formulae referred to might not be so obvious. The volatile method does not explicitly reference the column B range, whilst the non-volatile method does. Direct dependents of volatile functions are always recalculated. Indirect dependents of volatile functions are not always recalculated. So when is it ok to call volatile functions? The basic rule is to avoid using volatile functions wherever possible. Use volatile functions: In moderation Using a couple of formulae that call volatile functions is not going to slow your calculation time considerably. When there is no alternative; or the alternative will add significant overhead to the calculation. Events that Trigger Recalculation On the main part calculation is invoked when you change the value in a cell that has a dependent (assuming you are working in automatic calculation mode), or when you hit F9. There are however a number of other triggers that you need be aware of. The following table lists some of these triggers. TRIGGER Autofilter Clicking row or column divider Inserting or deleting rows, columns or cells Renaming, deleting and moving worksheets Table 2-2 Recalculation Event Triggers COMMENT Selecting any filter criteria will flag all of the formula in the autofilter range as uncalculated. Clicking a row or column divider will trigger recalculation. Manually changing the span of a row or column however will not trigger a recalculation. Any formulae that refer to other worksheets and any formula containing names that refers to other worksheets or to the current worksheet will become flagged as uncalculated. Any formulae that are referred to by formula in other worksheets will also become flagged as uncalculated. Renaming worksheets, deleting worksheets and changing the position of a worksheet in a workbook will trigger recalculation. Calculation Methods Normally Excel invokes recalculation when you change a cell value that has dependents. The calculation method this uses in recalculation. Shortcuts for invoking calculation: Full Calculation: Control+Alt+F9 Recalculation: F9 Selected Sheet(s) Only: Shift+F9 Calculating an individual formula, array formula, or part thereof: Select the formula in the formula bar, or only the portion you want to evaluate, and hit F9. The formula or part of the formula is replaced by the result. For an array formula you will see an array of the results, which is a great way of debugging an array formula. Formula Methods in Excel Jon von der Heyden 2011 Page 24

26 3. Data Types, Interpretation and Precision Whenever you type something into a cell, Excel needs to interpret that value so that (1) it knows how to process the value when it is called in a formula, and (2) so that it knows how much memory to allocate for the storage of that value. Data types not only apply to values typed into cells; any value yielded by a formula will be of a certain data type, even the values in names will be of a certain data type. Data Types There are a variety of different data types but we are going to group all of the various types into four categories; numbers, text, booleans (also referred to as logicals) and errors. Data types define how the bytes of memory are used to hold the data, and what kind of data can be stored. Generally Excel determines the data type of a value, but we are given a relative amount of control over this. For instance, if you type into a cell, clearly Excel knows to treat this as a numeric value and thus Excel assigns this a number data type. However, if the cell is formatted as text, or you prefix the entry with an apostrophe, Excel will treat this as a text data type. Numbers When numbers are held in Excel that number is stored in eight bytes. It is the data type that also tells us that the number range at our disposal is finite. In addition to numbers that are obviously number data types, date and time values, although often represented textually, are also numbers. Unless specifically formatted otherwise, all number values will appear right aligned in a cell. It is suggested that you do not change the alignment of numbers in cells because it is a very good visual guide informing you whether or not a number is recognised as a number, or as a text value. Booleans A logical or boolean expression is one that evaluates to TRUE or FALSE. You can also manually type in boolean values directly into a cell, name or formula argument. Unless specifically formatted otherwise, all boolean values will appear centre aligned in a cell, and appear in uppercase. Errors Error values inform us when something has gone wrong! Although typically the result of a formula we can actually manually type in error values into a cell. Unless specifically formatted otherwise, all error values will appear centre aligned, appear in uppercase and be prefixed with the hash symbol (#). Formula Methods in Excel Jon von der Heyden 2011 Page 25

27 ERROR #N/A #VALUE! #NAME? #DIV/0 #NULL! #REF! Table 3-1 List of error types MEANS Excel cannot find a lookup value within a specified lookup table. It is likely that: The lookup value does not exist within the lookup table. The data type of the lookup value is not consistent with the entry in the lookup table. Your lookup value does not match the value in the lookup table. Check for leading and trailing spaces. Occurs when the wrong type of argument or operand is used. The error is most commonly yielded when attempting an arithmetical calculation using a text value. A function or name is not recognised. Usually the result of a typo. Result of an attempt to divide a number by zero. Occurs when you specify an intersecting range which in fact does not intersect. Result of an invalid reference in your formula. Occurs usually when you delete the physical reference, meaning that the reference in the formula has nothing to point to. Text Generally a catchall for all other values not identified as belonging to one of the already mentioned data types. Unless specifically formatted otherwise, all text values will appear left aligned. Text values are actually ordered values, in that a text value can be equal to, less than or greater than another text value. For instance, using a comparative expression = A > Z will yield FALSE. = Z > A will yield TRUE. Floating Point-Precision Excel was designed in accordance to the IEEE Standard for Binary Floating-Point Precision. This standard defines how floating-point numbers are stored and calculated. The advantage of using floating-point representation over fixed-point representation is that it can support a wider range of values. For example, a fixed-point representation that has seven decimal digits with two decimal places can represent the numbers , , 1.23 and so on. Floating-point representation with seven decimal digits, however, can in addition represent , , , and so on. The number of digits of precision limits the accuracy of numbers. For example, the number cannot be exactly represented if 15 digits of precision are used. Excel uses 15 digits of precision. Loss of Precision When Using Very Large Numbers 1 1.2E E = SUM(A1:A2) 4 = 1E+100 Table 3-2 Example loss of precision when using very large numbers The resulting value in A3 is 1E+100, the same number in A2. At least 100 digits of precision would be required to accurately compute the result. A Formula Methods in Excel Jon von der Heyden 2011 Page 26

28 Loss of Precision When Using Very Small Numbers = SUM(A1:A2) 4 = Table 3-3 Example loss of precision when using very small numbers The resulting value in A3 is instead of At least 19 digits of precision would be required to accurately compute the result. A Boolean Logic Many users are already aware that boolean values can be represented with digital values. In Excel we can pass numerical values to logical function arguments and we can pass boolean values in expressions to be computed as digital values. The process Excel undergoes to convert boolean values to digital values, and vice versus, is referred to as coercion. Coercion In Excel, we can numerical values in formula to represent boolean values. Excel will recognise zero as FALSE and any non-zero number as TRUE. There is no explicit instruction needed to tell Excel to coerce zero to FALSE and a non-zero number to TRUE, it is a given when any such number is passed to a logical argument. Coercing a boolean to a digital value will represent FALSE as zero (unchanged) and TRUE as one. We do however need to be explicit when coercing a boolean to a digital value. A boolean is coerced to a digital value when it is used as an operand in an arithmetical expression. To yield the representative digital value we use an expression that will not change the numeric value of the digital value equivalent. A B C D E F G 1 DIGITAL VALUE EXPRESSION RESULT BOOLEAN VALUE EXPRESSION RESULT 2 1 =--A2 1 TRUE =--E =A3+0 0 FALSE =E =A4-0 1 TRUE =E =A5*1 0 FALSE =E5* =A6/1 1 TRUE =E6/ =A7^1 0 FALSE =E7^1 0 Table 3-4 Coercing boolean values to digital values It is widely believed that using double negation (--) is the most optimised coercion method, because double negation appears first in the order of evaluation. This method can also be used to coerce an entire array of values. For instance, assume you have a comparative expression over an array of values, the next table illustrates. Formula Methods in Excel Jon von der Heyden 2011 Page 27

29 A B C 1 VALUES EXPRESSION RESULT 2 A =SUMPRODUCT(--(A2:A7="a")) 2 3 B Step 0.1 =SUMPRODUCT(--({"a";"b";"c";"a";"b";"c"}="a")) 4 C Step 1.0 =SUMPRODUCT(-- ({TRUE;FALSE;FALSE;TRUE;FALSE;FALSE})) 5 A Step 1.1 =SUMPRODUCT(-({-1;0;0;-1;0;0})) 6 B Step 2.0 =SUMPRODUCT({1;0;0;1;0;0}) 7 C Step 3.0 (RESULT) =2 Table 3-5 Coercing an array of boolean values to an array of digital values AND Logic AND logic yields TRUE when all comparative statements evaluate to TRUE. If any comparison evaluates to FALSE then AND logic dictates that the result must be FALSE. Multiplying comparative results with each other also serves as AND logic. BOOLEAN VALUES DIGITAL VALUES CONDITION A CONDITION B A AND B CONDITION A CONDITION B A x B FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE TRUE TRUE TRUE Table 3-6 AND Logic Truth Table OR Logic OR logic yields TRUE when any one comparative statement of many yields TRUE. Adding comparative results with each other also serves as OR logic. BOOLEAN VALUES DIGITAL VALUES CONDITION A CONDITION B A OR B CONDITION A CONDITION B A + B FALSE FALSE FALSE FALSE TRUE TRUE TRUE FALSE TRUE TRUE TRUE TRUE Table 3-7 OR Logic Truth Table Formula Methods in Excel Jon von der Heyden 2011 Page 28

30 Date and Time Values Excel stores dates as a number representing the number of days since 0 January 1900, and times as a fraction of a 24 hour day. These are referred to a serial dates and times. It is cell formatting that provides textual representation, but essentially dates are whole numbers and times are decimal values. Knowing that dates are numeric values allows us to handle date and time values constructively in formulae. For instance, the 4 th of April 2010 has a numeric value of This is said because days have elapsed since 0 January This result is actually overstated because Excel interprets the year 1900 as a leap year (29 days in February); which it was not. For this reason, Excel allows us to switch to a different base, the 1904 data system. Here dates commence 0 January Whilst this system is theoretically more accurate, it is best to avoid using it. The 1900 date system allows greater compatibility with other systems. The time value 18H42 has a numeric value of This can be validated using the following equation: Formula Methods in Excel Jon von der Heyden 2011 Page 29

31 4. Introducing Worksheet Functions Worksheet functions allow us to pass instruction to Excel on how to evaluate terms, and as such, a strict convention applies. 1. Firstly Excel needs to determine whether or not an entry into a range, or name, is an expression. This is assumed to be true: 1.1. When the entry / expression is prefixed with an equals = symbol or unary symbol such as plus + or minus -. AND; 1.2. If entered into a range and the range is not text formatted. 2. Excel splits the expression into the individual terms. It then analyses each term for a worksheet function by cross-referencing each whole word in the term against its function library. Note it does not assess words encapsulated in speech marks. 3. Most worksheet functions take arguments, parameters or inputs if you like. These arguments are contained within parenthesis. Therefore Excel always expects a worksheet function name to be suffixed with parenthesis. If the worksheet function takes arguments then these inputs must be contained within the parenthesis. The parenthesis must still be present even if the worksheet function does not take any arguments. If parenthesis is missing Excel will assume the component to be a name. 4. Where a worksheet function takes more than one argument (within the parenthesis), the arguments must be separated by a comma delimiter (note the actual delimiter depends on regional settings it is common to find arguments semi-colon delimited on the European continent). Excel knows to send this expression to the calculation engine because it is prefixed with an equals symbol Excel recognises this worksheet function because it appears in the function library. Opening parenthesis. The arguments are contained within parenthesis. A comma separates the arguments. The first argument ; namely the X values. The second argument; namely the Y values. Closing parenthesis. = SUMPRODUCT ( A2:A6, B2:B6 ) Table 4-1 Basic anatomy of a worksheet function Data Type Conformity All worksheet functions are configured to yield a result conforming to a certain data type. Those that don t are said to yield a variant data type. Similarly the values passed to the function arguments are also expected to conform to a predefined data type. Formula Methods in Excel Jon von der Heyden 2011 Page 30

32 Taking this further, it comes as no surprise that the data type yielded by the SUM function is a number data type. It will also come as no surprise that the data types that SUM expects within its arguments should also be a number data type. But now bear in mind that certain worksheet functions are capable of processing arrays. An array, simply put, is a series of values. For example: 1 X = SUM(A2:A6) 8 = 10 A Here the instruction to Excel is to sum each value within the range A2:A6. In reality all that is happening in the background is that Excel is using this range to load values into an array. We can actually pass an array directly to the SUM function argument. For example: =SUM({1;2;3;4;5;6}) Here an array is qualified because the values are entered within curly parenthesis, specifically an inline array constant. In the example of SUM, we have already mentioned that Excel worksheet function expects the function arguments to conform to a predefined data type, and that the SUM function expects us to pass numerical values. So, when passing an array we should try to ensure that each array item (i.e. each value) conforms to the expected data type. This same rule applies to values contained within a range, where that range is passed to the function argument. In actual fact, the SUM function is very forgiving. If we include a text value within the array that it evaluates, SUM merely treats the text value as zero. This gives SUM a distinct advantage over using a classic addition expression. A B 1 X Y = SUM(A2:A6) = A2 + A3 + A4 + A5 + A6 8 = 8 = #VALUE! Table 4-2 Demonstrating the distinct advantage of using SUM over a classic addition expression The formula entered in B7 in figure 4.2 yields an error result. The #VALUE! error in this instance indicates the presence of a non-numerical value. Excel cannot add the text value in A4 to the addition of A2 and A3, hence each evaluation step beyond this point yields an error value. So far we have only briefly touched and explored the SUM and SUMPRODUCT functions. Currently, in Excel 2010, there are 331 common worksheet functions. This does not take into account additional worksheet functions at your disposal through addins and other external sources. To explore argument data type conformity we need to choose a different function. Let us explore a common favourite, VLOOKUP: Formula Methods in Excel Jon von der Heyden 2011 Page 31

33 A B 1 X Y 2 A 10 3 B C A D 7 8 = VLOOKUP(A6,A2:B4,2,FALSE) = VLOOKUP(B6,A2:B4,2,TRUE) 9 = 10 = 1000 Table 4-3 VLOOKUP, exact match and approximate match syntax We won t explore the VLOOKUP function in much depth now; that comes later. What is demonstrated here is data type conformity in the function arguments. The first argument expects a lookup value, i.e. the value sought in the table. In this example we are looking for the value a in the lookup table. In the case of VLOOKUP, the lookup value can be numeric, text or a logical value (essentially a variant data type). It would be rather futile to pass an array or inline array constant to this first argument because VLOOKUP expects a single value, and only the first array item will be taken into account. The second argument represents the table that the lookup value is sought within, and that the return value is contained within. VLOOKUP searches for the lookup value (i.e. the 1 st argument) within the left-most column of the table. In our example our table is contained within a range, but it need not be. We could represent the table using an inline array constant, for instance: =VLOOKUP( a ;{ a,10; b,100; c,1000},2,false) Notice that the inline array constant contains both comma and semi-colon separators. The comma represents a column partition and the semi-colon represents a row partition. So we can conclude that this inline array contains two columns and three rows, just as range A2:B4 is made up of two columns and three rows. Again this argument can take a variant data type, however VLOOKUP will always yield an error unless this argument is either a range or an array. The third argument indicates which column index to yield a value from, assuming the lookup value is found in the left-most column of the table. In this example the #2 refers to column B of the table. This argument can only accept an integer value. Excel wouldn t know how to interpret a text string. VLOOKUPs fourth and final argument is used to instruct Excel whether or not it should seek an exact match, or an approximate match. This can only ever be TRUE or FALSE, in other words a boolean value. So what happens if we pass anything other than a boolean? If you enter a text value you can expect to receive a #VALUE! error. Excel doesn t have a mechanism for coercing a text value to a boolean value. You can however pass a numeric value. It is not uncommon to see this argument expressed as 1 or 0 (zero). Excel will resolve the number to a boolean, meaning that strict data type is still applied. The number zero can be used to represent FALSE, and any non-zero number can be used to represent TRUE. Formula Methods in Excel Jon von der Heyden 2011 Page 32

34 Nested Worksheet Functions Next we address the topic of nested functions. Although worksheet function arguments need to conform to specific data types, this does not mean that we are restricted only to constant inputs or reference inputs. It is perfectly acceptable to nest a worksheet function, or any formula, within a function argument, provided the result of that nested function conforms to the expected data type. Let us explore this in a little more depth: A B C D 1 Period 1 Period 2 Period 3 2 Susan Bob Mary James Employee: Bob 8 Period: Period Expense Claimed: = INDEX(B2:D5, MATCH(B7,A2:A5,0), MATCH(B8,B1:D1,0)) 11 = 252 Table 4-4 Demonstrating nested worksheet functions within a formula The INDEX worksheet function takes 3 arguments. We pass a table or array to the first argument. In this example the table is in a range, specifically B2:D5, the expense values only. The second argument tells Excel which Y coordinate, or row index, we want to return a value from. The third argument tells Excel which X coordinate, or column index, we want to return a value from. The intersection of the Y and X coordinate is the result of the INDEX formula. In the table above, we use the MATCH worksheet function to yield the Y coordinate, or the position of the Bob in A2:A5. We use the MATCH worksheet function to yield the X coordinate, or the position of Period 2 in B1:D1. The data type of the MATCH result can only be an integer or an error type (i.e. if no match is found then MATCH will yield #N/A). Optional Arguments As previously stated, not all worksheet functions take arguments. The TODAY worksheet function is a classic example. TODAY will always yield todays date by collecting the result from the system date. Of the functions that do rely on arguments occasionally some of these arguments are optional. An example of this can be observed with the VLOOKUP we explored earlier. The last argument, indicating whether or not an exact or approximate match is required, is optional. Where this is the case, and the argument is omitted in the formula, Excel will assume a default value. For example: =VLOOKUP( d,{ a,10; b,100; c,1000},2) In this context Excel will assume that the omitted argument is TRUE, Excel is instructed to perform an approximate match. However; Formula Methods in Excel Jon von der Heyden 2011 Page 33

35 =VLOOKUP( d,{ a,10; b,100; c,1000},2,) In this context Excel will assume that the omitted argument is FALSE, Excel is instructed not to perform an approximate match. It might not be obvious, the only difference between the former and the latter is that the latter contains a comma after the column index argument, meaning that the fourth argument has not actually been omitted but that Excel has not been explicitly told what the argument value is. It is considered best practise to be as explicit as possible when constructing your formula. Being explicit does not add any overhead to Excels calculations since omitted arguments will always revert to a default value. In fact, it has been suggested by some that being explicit reduces the overhead since Excel does not have to reference its library to establish the default value. Whether or not this is true the effects are so slight that they are difficult to substantiate. Logical and Information Functions Logical functions introduce decision making in Excel. They either yield TRUE of FALSE, or instruct Excel on how to arrive at a result if a condition is either TRUE or FALSE. Information functions answer specific questions and are usually prefixed with IS. In the context of this lesson we will only explore information functions that yield a TRUE or FALSE result. AND() Returns TRUE if all of its arguments are TRUE, otherwise yields FALSE. AND supports up to 30 logical arguments in Excel version 2003 and earlier, but up to 255 in later versions. Syntax: AND(logical1, logical2, ) OR() Returns TRUE if any of its arguments are TRUE, returns FALSE if all of arguments are FALSE. OR supports up to 30 logical arguments in Excel version 2003 and earlier, but up to 255 in later versions. Syntax: OR(logical1, logical2, ) Use arrays when analysing a single cell: When using OR to test only one cell value, an inline array constant can offer a touch of micro-optimisation. For instance: A B 1 Bob 2 3 =OR(A1= Mary,A1= Bob ) This rendition involves 3 evaluation steps. 4 =OR(A1={ Mary ; Bob }) This rendition only involves two evaluation steps. NOT() Reverses the logic of its argument. Use NOT when you want to make sure a value is not equal to one particular value. Syntax: NOT(logical) Formula Methods in Excel Jon von der Heyden 2011 Page 34

36 ISBLANK() Returns TRUE if the value is blank, otherwise returns FALSE. This function can mislead users. ISBLANK will yield FALSE when a value contains a null string, such as a formula configured to yield. You can also use the LEN function to determine if a value is empty, or contains a null string. Syntax: ISBLANK(value) ISNA() Returns TRUE if a value is a #N/A error, otherwise returns FALSE. Use ISERROR() to test if a value is of any error type. Syntax: ISNA(value) IF() Specifies a logical test to perform. Instructs Excel to yield a specific value if the 1 st argument is TRUE, or another value if the 1 st argument is FALSE. Syntax: IF(logical_test, value_if_true,value_if_false) When using IF, do not test if a comparative statement is TRUE or FALSE: How often do you see: IF((value1 > value2)=true, do_this, do_that)? The statement something > something_else is a comparison statement and can only yield a TRUE or FALSE. Thus asking Excel to confirm that it is TRUE is an extra and entirely unnecessary evaluation step. When using IF, do not explicitly ask Excel whether a value is zero or not: Because Excel recognises zero as FALSE, and any non-zero numeric value as TRUE, it is entirely unnecessary to pass this sort of comparison statement in IF. For instance, IF(value<> 0, do_this, do_that) can simply be expressed as IF(value, do_this, do_that), saving an evaluation step. Avoid IF in logical numerical tests: The tables below attempts to illustrate using boolean logic to avoid function calls and reduce the evaluation steps to yield a result. A B C D 1 2 Pay 20% bonus on Revenue over 20K only where GP >= 30% 3 Profit Centre Revenue GP% Bonus % % % % 0 Table 4-5 Boolean logic, multiplying logical tests to avoid function calls and evaluation steps. The bonus in D4 can be calculated using a combination of IF() and AND(): IF(AND(B4>20000,C4>=0.3),(B )*0.2,0). This formula involves two function calls and 6 evaluation steps. The same result can be achieved using (B4>20000)*(B )*(C4>=0.3)*0.2, however this method involves no function calls with the same number of evaluation steps. Formula Methods in Excel Jon von der Heyden 2011 Page 35

37 Lookup Functions Lookups are of the most frequently used functions in the Excel function library. Unfortunately though, they are often the most likely cause of slow calculations. Fortunately there are a number of ways to improve lookup calculation times. LOOKUP() The LOOKUP function takes two forms, Vector or Array. The array version searches for a specific item in an array, and returns a value from the same position in the last column or row of the array. If multiple matches exist, LOOKUP returns the last match. The array must be sorted in ascending order. Error values in the array are ignored. Syntax: LOOKUP(lookup_val, array) Lookup the LAST item in a table: Typical lookup functions match the first occurrence of an item in a table. Lookup will return the last match. Say you a table of values in A1:A10, and you wish to yield an adjacent value from B1:B10, but should more than one occurrence exist, grab the last match: LOOKUP(1,1/(A1:A10= lookup_value ),B1:B10) MATCH() The MATCH function searches for a specific item in a 1-dimensional array of values (e.g. range), and then returns the relative position of that item in the array. Syntax: MATCH(lookup_value, lookup_array, match_type) Match_type = 1 returns the largest match less than or equal to the lookup value if the lookup array is sorted in ascending order. Match_type = 0 requests an exact match. Match_type = -1 returns the smallest match greater than or equal to the lookup value if the lookup array is sorted in descending order. VLOOKUP() The VLOOKUP function searches for a specific item in the left-most column of an array of values, and then returns a value from the same row from the desired column in the array. Syntax: VLOOKUP(lookup_value, lookup_array, col_index, match_type) Match_type = TRUE (or any non-zero number) returns the largest match less than or equal to the lookup value. The array must be sorted in ascending order. Match_type = FALSE (or zero) requests an exact match. HLOOKUP() The HLOOKUP function searches for a specific item in the top-most row of an array of values, and then returns a value from the same column from the desired row in the array. Formula Methods in Excel Jon von der Heyden 2011 Page 36

38 Syntax: HLOOKUP(lookup_value, lookup_array, row_index, match_type) Match_type = TRUE (or any non-zero number) returns the largest match less than or equal to the lookup value. The array must be sorted in ascending order. Match_type = FALSE (or zero) requests an exact match. INDEX() The INDEX() function returns a value or the reference to a value from within an array or range. very versatile function indeed. INDEX is a Syntax: INDEX(array, row_index, column_index) Use INDEX and MATCH to perform left-to-right and bottom-to-top lookups: VLOOKUP always seeks a lookup value in the left-most column or an array of values. HLOOKUP always seeks a lookup value in the top-most row of an array of values. Using INDEX with MATCH can be used to yield a lookup result regardless of the orientation of the lookup value field in the array. A B C D 1 VALUES LOOKUP FIELD 2 59 A LOOKUP VALUE D 3 41 B 4 42 C FORMULA =INDEX(A1:A7,MATCH(E2,$B$1:$B$7,1),0) 5 27 D RESULT = E 7 68 F Table 4-6 Performing a right-to-left lookup with INEX and MATCH Use INDEX to yield a single dimension of a multi-dimensional array: Say you have a named range in your workbook, and that the range referred to is multi-dimensional (i.e. refers to both columns and rows). At some point you might need to refer to only one dimension of that range (i.e. a row or a column). Of course you could configure a named range for each dimension, but that only adds to the size and complexity of your model. INDEX can be used to refer to a specific column or row of the array. NAMED RANGE: Sales_Table REFERS TO: Sales!$A$1:$M$100 FORMULA: RETURNS: =INDEX(Sales_Table,0,2) Column B, Sales!$B$1:$B$100 FORMULA: =INDEX(Sales_Table,8,0) RETURNS: Row 8, i.e. Sales!$A$8:$M$8 Table 4-7 Yielding an intersecting range using INDEX Formula Methods in Excel Jon von der Heyden 2011 Page 37

39 Use INDEX with a reference operator to yield a contiguous range: One of the properties of INDEX that makes it so versatile is that it can be used to return a value from a range or array, but also that it can yield a range. A B C D E 1 INVOICE AMOUNT FORMULA =SUM(B1:INDEX(B:B,MATCH(BigNum,B:B,1),0)) Step 1 =SUM(B1:INDEX(B:B,7,0)) Step 2 =SUM(B1:7) Step 3 (RESULT) = Table 4-8 Yielding a range using INDEX to return a range operand CHOOSE() The CHOOSE() function uses an index number to return a value from a list of arguments. Syntax: CHOOSE(index_num,1 st _arg,2 nd _arg, ) Use CHOOSE to construct an array of calculated values: One unconventional use of choose is to feed an array to the index_num argument, which causes CHOOSE to yield an array of the corresponding argument values. Hence CHOOSE({1;2;3},A1+A2,A2+A3,A3+A4) will yield an array {A1+A2;A2+A3;A3+A4}. Use CHOOSE to create a right-to-left VLOOKUP: Using the method described previously, we can construct a 2 dimensional array from two ranges. VLOOKUP(lookup_val,CHOOSE({1,2},B1:B100,A1:A100),2,TRUE) will look for lookup_value in column B but return the adjacent value from column A. Further Lookup Tips Always avoid using exact match wherever possible. If you are doing lookup s using the exact match option the calculation time for the function is directly proportional to the number of cells scanned before a match is found. This might add significant overhead to calculations when doing lookups over large ranges. Lookup calculation speed using the approximate match method on ordered data is considerably quicker. Try to keep all lookup references in the same sheet. Using lookups to search for an item on a different sheet is considerable slower. Do however keep data on separate sheets if it makes the model that much easier to understand and maintain. Avoid using oversized lookup ranges. When doing exact match lookups, restrict the range of cells to be scanned to a minimum. Consider using dynamic range names instead. You can use approximate match even if your lookup value might be missing from the array. If you order your data ascending but still are not certain that the lookup value is in the lookup array, then apply the following approach: =IF(COUNTIF(array, lookup_value),vlookup(lookup_value, lookup_array, col_index, TRUE),NA()) Formula Methods in Excel Jon von der Heyden 2011 Page 38

40 Avoid unnecessary function calls when handling errors. The typical approach to handling lookup errors with ISNA() and ISERROR() is not the most efficient. Instead use the following approach: A B C 1 X 10 Result1 2 Y 100 Result2 3 Z 1000 Result3 4 5 For numbers: =LOOKUP(9.99E+307,CHOOSE({1;2},0,VLOOKUP( a,a1:b3,2,0))) 6 For text: =LOOKUP(REPT( Z,255),CHOOSE({1;2},,VLOOKUP( a,a1:c3,3,0))) Table 4-9 Handling lookup error values At this point you might be wondering what the purpose of using 9.99E+307 and REPT( Z,255) is? The former is just a really, really big number and gives relative assurance that the formula will yield the last number in the range. The later yields a string of 255 Z characters, and also gives relative assurance that the formula will yield the last text value in the range. If you are going to frequently rely on these then it is suggested that you assign each to a defined name: BigNum: = E+307 BigText: =REPT( Z,255) Binary Search versus Linear Search The point of using approximate match in lookups is iterated a number of times throughout this document. You might be wondering why an approximate match is so much faster than an exact match. In the case of an exact match Excel is instructed to perform a linear search. Excel does not expect the range to be ordered; therefore the size of the range to evaluate is directly in proportion to the position of the lookup value in the lookup range. VLOOKUP, HLOOKUP and MATCH will search for the lookup value in the table, iterating through each array item in the relevant range until it find the match. Once it finds the match it stops searching immediately (i.e. these functions are configured to find the first match only). However, in the case of an approximate match, Excel is instructed to perform a binary search. Excel expects the array to be ordered. Imagine, if you will, looking for a specific listing in a very large telephone directory book. You want to find the telephone number for Sam s Delivery Service. If the telephone directory was not ordered A-Z you would literally need to start with the first entry and scan each entry until you find the listing. The time it will take for you to find the entry will be proportionate to the position of Sam s Delivery Service in the directory. Fortunately telephone directories are ordered. In reality you would take a punt at where the letter S is in the book. Let s say you guess wrong and you open listings beginning with the letter P. Perhaps you would fold over A-P and have a second punt, this time striking the letter U. Now you know that the S listings are somewhere between your first and second punt, so you would iterate this process until you find the specific listing. What Excel does to yield a result with a binary search is not far different. Firstly Excel will divide the array into two equal arrays. It will analyse the first array item of the second array and determine if the array item is smaller than, equal to, or greater than the lookup value. If the item is smaller than the lookup value then it knows to seek the second array. If the array item is larger than the lookup value then it knows to seek the first array. It will reiterate this process, each time narrowing down the search range, until a match is found. If no match is found then it will return the nearest approximate match. The definition of Formula Methods in Excel Jon von der Heyden 2011 Page 39

41 approximate match may vary dependent on the lookup function used and what instruction was passed in the function, see the individual lookup functions content for more details. Math and Statistical Functions The volume of functions in these two categories is huge, so we are only going to skim the surface and focus on some of the most frequently used and handy functions. ROUND() Rounds a number to a specified number of digits. Syntax: ROUND(number, num_digits) Use ROUND to round a number to the nearest multiple: A B C D 1 NUMBER SIGNIFICANCE FORMULA RESULT =ROUND(A2/B2,0)*B =ROUND(A3/B3,0)*B =ROUND(A4/B4,0)*B Table 4-10 Rounding to the nearest desired multiple using ROUND MROUND() Returns a number rounded to the nearest desired multiple of significance. In versions 2003 and prior, this function is only available through the Analysis Toolpak. Use the ROUND method described if you are using Excel 2003 or prior, or if your workbook is to be viewed and used by users running Excel 2003 or prior. Syntax: MROUND(number, significance) ROUNDUP() Rounds a number up, away from zero. ROUNDUP can be used in the same context described in ROUND. Syntax: ROUNDUP(number, num_digits) CEILING() Rounds a number up, away from zero, to the nearest multiple of significance. Syntax: CEILING(number, significance) Manage the sign of the significance multiple carefully: A B C D 1 NUMBER SIGNIFICANCE FORMULA RESULT =CEILING(A2,B2) =CEILING(A3,B3) =CEILING(A4,B4) 1.5 Table 4-11 Rounding up to the nearest desired multiple using CEILING Formula Methods in Excel Jon von der Heyden 2011 Page 40

42 ROUNDDOWN() Rounds a number down, towards zero. ROUNDDOWN can be used in the same context described in ROUND. Syntax: ROUNDDOWN(num, num_digits) FLOOR() Rounds a number down, away from zero, to the nearest multiple of significance. Syntax: FLOOR(number, significance) INT() Returns the integer of a number, or, rounds a number down to the nearest integer. Syntax:INT(number) Use INT to yield the date only portion of a date & time stamp: In Excel dates are always whole numbers, where each day is a value of 1. Time is always a decimal value, since 1 hour is of a day ( ). A B C D 1 DATE & TIME FORMULA RESULT (number) RESULT (dd/mm/yy) 2 25/03/ :48 =INT(A2) /03/2011 Table 4-12 Extracting a date from a date and time stamp MOD() Returns the remainder after a number has been divided by a divisor. Syntax: MOD(number, divisor) Use MOD to yield the time only portion of a date and time stamp: Removing the integer component of a date and time stamp will leave only the decimal value, which also happens to be the time value. A B C D 1 DATE & TIME FORMULA RESULT (number) RESULT (dd/mm/yy) 2 25/03/ :48 =MOD(A2,1) :48 Table 4-13 Extracting the time from a date and time stamp Formula Methods in Excel Jon von der Heyden 2011 Page 41

43 Use MOD to aggregate each n th item in an array: The following table demonstrates a stepped approach to summing up each 4 th sales item (in this exhibit the quarterly result). A B C D E F G H I 1 Jan Feb Mar Q1 Apr May Jun Q2 2 Sales 26,238 34,131 30,600 90,969 34,536 28,270 25,146 87, N MOD result MOD formula =MOD(COLUMNS($1:1),$B$4) 8 MOD formula in B6 copied across through to I6 9 TOTAL result 178, TOTAL formula =SUMIF(B6:I6,0,B2:I2) Table 4-14 Summing the nth item in an array using MOD; a stepped approach MAX() Returns the maximum value in an array of numeric values. MAX supports up to 30 arguments in Excel version 2003 and earlier, but up to 255 in later versions. Syntax: MAX(number1, number2, ) Use MAX and MIN to avoid unnecessary IF function calls: The steps involved in resolving a MAX or MIN statement are fewer than resolving an IF statement. Here are some examples of how one can avoid unnecessary IF function call using MAX and MIN: A B C D E 1 VALUE 1 VALUE 2 IF formula MAX formula MAX result 2 8 =IF(A2>0,A2,0) =MAX(A2,0) IF(MIN(A3,B3)<0,0,MIN(A3,B3)) =MAX(0,MIN(A3,B3)) 0 Table 4-15 Using MIN and MAX to avoid IF function calls MIN() Returns the minimum value in an array of numerical values. MIN supports up to 30 arguments in Excel version 2003 and earlier, but up to 255 in later versions. Syntax: MIN(number1, number2, ) LARGE() Returns the n th largest value in an array. You can use this function to select a value based on its relative standing, or rank. Syntax: LARGE(array, n) Formula Methods in Excel Jon von der Heyden 2011 Page 42

44 Aggregate the top n values in an array: A common requirement is to know the total of the largest n values in a list of values. This exhibit demonstrates using the SUM function but this can be substituted with AVERAGE and various other aggregate functions. A B 1 SALES 2 Order Order Order Order Order Order Order Order TOTAL 3, TOP 3 1, =SUM(LARGE(B2:B9,{1;2;3})) Table 4-16 Summing the top n values in an array using SUM and LARGE SMALL() Returns the n th smallest value in an array. You can use this function to select a value based on its relative standing, or rank. Syntax: SMALL(array, n) SUMPRODUCT() Returns the sum of the products of corresponding array components. SUMPRODUCT is one of the most heavily depended on functions, and one of the most versatile. But it is also quite inefficient and should be used in moderation or where no other alternative is available, or if the alternative is equally or more inefficient. SUMPRODUCT supports up to 30 arguments in Excel version 2003 and earlier, but up to 255 in later versions. Syntax: SUMPRODUCT(array1, array2, array3, ) Sum or Count a range of values based one or more criteria with SUMPRODUCT. SUMPRODUCT has long been used in a similar context to SUMIF and COUNTIF. SUMIF and COUNTIF only support one criterion. SUMPRODUCT can support many more criteria. SUMIFS and COUNTIFS were introduced in Excel 2007 to support multiple criteria. Only use SUMPRODUCT to sum or count items in a range based on criteria if: 1. You need to reference an external workbook and need it to recalculate results even when that external workbook is closed. COUNTIF(S) and SUMIF(S) do not work on closed external workbooks. 2. You are using Excel 2003 or a prior version, or your workbook will be viewed and maintained by Excel 2003 and prior version users. Formula Methods in Excel Jon von der Heyden 2011 Page 43

45 A B C 1 CATEGORY1 CATEGORY2 TOTAL 2 A X B Y C X A Y 70 6 B Y C X CATEGORY1 B 10 CATEGORY2 Y COUNT 2 13 =SUMPRODUCT(--(A2:A7=B9),--(B2:B7=B10)) SUM =SUMPRODUCT(--(A2:A7=B9),--(B2:B7=B10),C2:C7) Table 4-17 Sum or Count a range using multiple criteria with SUMPRODUCT Further advice on SUMPRODUCT: In Excel 2003 versions and prior, SUMPRODUCT will not support the use of whole column references or whole row references (e.g. A:A or 1:1). However, regardless of which Excel version applies, whole column and whole row reference should never be used as it adds significant overhead to the calculation. One should limit range references to the size of the range or use dynamic range names. SUMPRODUCT will yield a #VALUE! error if any of its references differ in size. If an error value exists within any of the array arguments SUMPRODUCT will yield that same error value. COUNTIF() Counts the number of cells within a range that meet the given criteria. COUNTIF supports the use of comparison operators in its criteria arguments, and also supports the use of wildcard operators. COUNTIF is an incredibly fast calculating formula, but it also has its limitations. The limitations are largely the same for SUMIF. See SUMIF for more information. Syntax: COUNTIF(range, criteria) Find duplicates in a range using COUNTIF: Although there are other (possibly better) techniques for identifying distinct and duplicated values in a range, COUNTIF often appears as a quick and easy [and therefore preferred] method. This method involves counting the occurrences of the value based on its relative position in the table. Formula Methods in Excel Jon von der Heyden 2011 Page 44

46 A B C D 1 NAME EMPLOYEE # OCCURRENCE DUPE / DISTINCT 2 Jon Distinct 3 Sue Distinct 4 Bob Distinct 5 Jon Duplicate 6 Mary Distinct 7 Bob Duplicate 8 9 Formula in C2 (copied down): =COUNTIF($B$2:$B2,$B2) Formula in D2 (copied down): =IF(C2-1, Duplicate, Distinct ) Table 4-18 Identifying duplicates in a range of values using COUNTIF Check if a cell conforms to a pattern: Sometimes it is necessary to check if a value or text string is contained in a larger text string. For instance, in this example we look for all names that contain a middle name or initial (perhaps with the intention of identifying duplicate names). A B C 1 FULL NAME HAS MIDDLE NAME HAS MIDDLE INITIAL 2 Susan Elizabeth Jones Peter Brown Thomas Stephen Steele James Crane Fiona C Wood Matthew Elliot Gray George Harper =COUNTIF(A10,"*??* *") =COUNTIF(A10,"*? *") SUMIF() Adds the cells specified by a given criteria. SUMIF supports the use of comparison operators in its criteria arguments, and also supports the use of wildcard operators. SUMIF is an incredibly fast calculating formula, but it also has its limitations. The sum range must have the same number of rows and columns as the criteria range argument, although it does not have to be adjacent to the criteria range. Syntax: SUMIF(criteria_range, criteria, sum_range) Sum values in a range with multiple criteria in the same criteria range: SUMPRODUCT is occasionally misused because users aren t aware that SUMIF (and COUNTIF) can support miltconditional evaluation, provided that the criteria are sought in the same criteria range. A B C D E 1 ACCOUNT AMOUNT CRITERIA FORMULA =SUMPRODUCT(SUMIF(A2:A6,D2:D3,B2:B6)) RESULT 1, Table 4-19 Sum values in a range based on multiple criteria in the same criteria range Formula Methods in Excel Jon von der Heyden 2011 Page 45

47 Note, the result in this exhibit can also be achieved with =SUMIF(A2:A6,D2,B2:B6)+SUMIF(A2:A6,D3,B2:B6). Using the version in the exhibit however can help avoid unnecessary function calls, shortens the formula and offers faster calculation. Remember, that with an inline array constant array criteria argument Excel knows automatically that the formula is to be treated as an array formula. This means the SUM function would be a sufficient replacement over SUMPRODUCT. Therefore this can also be expressed as =SUM(SUMIF(A2:A6,{ , },B2:B6)). Sum values that correspond to empty cells: In some models a column is used to represent a corresponding value, and cells in the column are left blank where they correspond to sub-totals. This method might prove useful to sum sub-total values. The equals to comparative operator is used to represent empty cells. A B 1 ACCOUNT AMOUNT , , Total formula =SUMIF(A2:A12,"=",B2:B12) 15 Total result 3, Table 4-20 Summing values that correspond to empty cells using SUMIF Sum values that correspond to non-empty cells: Using the previous exhibit, this time we are adding cells that correspond to non-empty cells. The not equal to comparative operator is used to represent non-empty cells. A B 1 ACCOUNT AMOUNT , , Total formula =SUMIF(A2:A12,"<>",B2:B12) 15 Total result 3, Formula Methods in Excel Jon von der Heyden 2011 Page 46

48 Table 4-21 Summing cells that correspond to non-empty cells using SUMIF Sum values between two dates: This is quite a popular question on the forums. You have a date range with corresponding values, and you wish only to sum the values between two given dates. The math is actually very simply; first we sum the values that correspond to dates greater than or equal to the start date, and then subtract the values that correspond to the dates greater than the end date. A B 1 DATE AMOUNT 2 04-Dec-10 3, Dec-10 7, Dec-10 5, Jan-11 2, Jan-11 6, Jan-11 7, Jan-11 1, Feb-11 6, Mar-11 9, Date1 01-Jan Date2 31-Jan Total formula =SUMIF(A2:A10,">="&B12,B2:B10)-SUMIF(A2:A10,">"&B13,B2:B10) 16 Total result 18, Table 4-22 Sum values between two dates using SUMIF A better function to use would be SUMIFS, assuming you have Excel version 2007 or later. Another option would be to use SUMPRODUCT, but even a single SUMPRODUCT formula would be less efficient than two SUMIF function calls. Offset the sum range reference to add nonadjacent cells: The dimension of the sum range must be the same size as the dimension of the criteria range, but that does not mean that they must be adjacent to each other. A B C 1 Profit Centre Sales Costs Profit Centre Sales Costs Total Sales =SUMIF(B2:B10,"=Sales",B3:B11) 15 Total Costs 3400 =SUMIF(B2:B10,"=Costs",B3:B11) Table 4-23 Offsetting the sum range in SUMIF Formula Methods in Excel Jon von der Heyden 2011 Page 47

49 Further advice on SUMIF(S) and COUNTIF(S): You can only pass range references to SUMIF(S) and COUNTIF(S) criteria range and sum range arguments. SUMPRODUCT supports arrays in its arguments. Note, you can pass an array to SUMIF(S) and COUNTIF(S) criteria argument. SUMIF(S) and COUNTIF(S) will not compute results when referencing external workbooks, and where the external workbook is closed. Instead it will yield #REF! error value. Evaluation speed is not slowed down when referencing whole columns or whole rows, unlike SUMPRODUCT where the speed is directly proportional to the size of the arrays passed to its arguments. SUMIF and COUNTIF only support a maximum of one criteria range. COUNTIFS() Applies criteria to cells across multiple ranges and counts the number of times all criteria are met. COUNTIFS is only available in Excel 2007 and later versions. Up to 127 range/criteria pairs are allowed. Each additional range must have the same number of rows and columns as the criteria_range1 argument although ranges do not have to be adjacent to each other. The use of this function, and its limitations, are already described in the SUMIF and COUNTIF topic. Syntax: COUNTIFS(criteria_range1, criteria1, criteria_range2, criteria2, ) SUMIFS() Adds the cells in a range that meet multiple criteria. SUMIFS is only available in Excel 2007 and later versions. The order of arguments differs between the SUMIFS and SUMIF functions. In particular, the sum range argument is the first argument in SUMIFS, but it is the third argument in SUMIF. If you are copying and editing these similar functions, make sure you put the arguments in the correct order. Syntax: SUMIFS(sum_range, criteria_range1, criteria1, criteria_range2, criteria2, ) Text Functions Excels text functions allow for the manipulation of text values, and they are very useful even in mathematical formula. TRIM() Removes all spaces from text except for single spaces between words. Use TRIM on text that you have received from another application that may have irregular spacing, or on text strings that you suspect might have leading or trailing spaces. Syntax: TRIM(text) Formula Methods in Excel Jon von der Heyden 2011 Page 48

50 LEN() LEN returns the number of characters in a text string. Syntax: LEN(text) REPLACE() REPLACE replaces part of a text string, based on the number of characters you specify, with a different text string. Syntax: REPLACE(old_text, start_num, num_chars, new_text) SUBSTITUTE() This function substitutes new text for old text in a text string. Use SUBSTITUTE when you want to replace specific text in a text string; use REPLACE when you want to replace any text that occurs in a specific location in a text string. Syntax: SUBSTITUTE(text, old_text, new_text, instance_num) MID() MID returns a specific number of characters from a text string, starting at the position you specify, based on the number of characters you specify. Syntax: MID(text,start_num, num_chars) Use MID to drop leading characters instead of RIGHT: A typical approach to dropping leading characters might be use a combination of the RIGHT and LEN functions. Using MID or REPLACE can avoid an unnecessary function call, although the MID method is likely to be more efficient. Note that the REPLACE method instinctively trims the text. A B C D 1 RIGHT/LEN MID REPLACE 2 ; Drop the 1st two chars! =RIGHT(A2,LEN(A2)-2) =MID(A2,3,255) =REPLACE(A2,1,2,"") 3 4 RESULT Drop the 1st two chars! Table 4-24 Dropping leading characters with MID and REPLACE LEFT() LEFT returns the first character or characters in a text string, based on the number of characters you specify. Syntax: LEFT(text, num_chars) RIGHT() RIGHT returns the last character or characters in a text string, based on the number of characters you specify. Syntax: RIGHT(text, num_chars) Formula Methods in Excel Jon von der Heyden 2011 Page 49

51 FIND() FIND locates one text string within a second text string, and returns the number of the starting position of the first text string from the first character of the second text string. FIND is case sensitive and does not support wildcard characters. SEARCH supports case insensitive evaluation and also supports wildcard characters, but is considerably slower. Syntax: FIND(find_text, within_text, start_num) Use FIND in a case insensitive context: Whilst SEARCH support case insensitive evaluation, it is also considerably slower, so much that using FIND with a couple of extra functions calls (UPPER or LOWER) is still known to be better. A B 1 Find: Text 2 Within: Some text here 3 4 Formula: =FIND(UPPER(B1),UPPER(B2)) 5 Result: 6 SEARCH() SEARCH is the case insensitive equivalent to FIND, but is considerably slower. Syntax: SEARCH(find_text, within_text, start_num) EXACT() EXACT compares two text strings and returns TRUE if they are exactly the same, FALSE otherwise. EXACT is case-sensitive but ignores formatting differences. EXACT can also be used to compare numeric values and it is useful when used to compare an array of values against another. Syntax: EXACT(text1, text2) Date Functions When dealing with dates Excel has a collection of very useful functions. Some of these functions were only available in Excel 2003 and earlier versions through the Analysis Toolpak. Excel included the full collection of functions in the standard function library since Excel When catering for Excel 2003 and earlier, it is often best to use alternative methods in case the users do not have the Analysis Toolpak installed or available. DATE() DATE returns the serial number of a particular date. Syntax: DATE(year, month, day) Return a serial date exactly n months before or after a specified date: Because the number of days in the months vary it is difficult to use traditional arithmetic to compute an exact date a certain number of months on (or before) a given date. The EDATE function can be used to achieve the same but in Excel 2003 and earlier versions is only available through the analysis toolpak. Formula Methods in Excel Jon von der Heyden 2011 Page 50

52 A B C D E 1 Date 27/03/ RESULT FORMULA 3 + Months 2 27/05/2011 =DATE(YEAR(B1),MONTH(B1)+B3,DAY(B1)) 4 - Months 7 27/08/2010 =DATE(YEAR(B1),MONTH(B1)-B4,DAY(B1)) Table 4-25 Return a serial date exactly n months before or after a specified date Return the first day and the last day of the month for a given date: Another popular question on the forums The typical requirement is to compute the last day of the month for a given date for the purpose of working out the number of networking days in the month. A B C 1 Date 27/03/ First Day: 01/03/2011 =B1-DAY(B1-1) 4 Last Day: 31/03/2011 =DATE(YEAR(B1),MONTH(B1)+1,0) 5 6 Networking Days 23 =NETWORKDAYS(B3,B4,Holidays) Table 4-26 Return the 1 st and last day of the month of a given date EDATE() EDATE returns the serial number that represents the date that is the indicated number of months before or after a specified date (the start date). Use EDATE to calculate maturity dates or due dates that fall on the same day of the month as the date of issue. EDATE is housed in the Analysis Toolpak function library in Excel 2003 and earlier versions. Syntax: EDATE(start_date, months) EOMONTH() EOMONTH returns the serial number for the last day of the month that is the indicated number of months before or after start date. Use EOMONTH to calculate maturity dates or due dates that fall on the last day of the month. EOMONTH is housed in the Analysis Toolpak function library in Excel 2003 and earlier versions. Syntax: EOMONTH(start_date, months) Formula Methods in Excel Jon von der Heyden 2011 Page 51

53 DATEDIF() The DATEDIF function calculates the difference between two dates in a variety of different intervals, such as the number of years, months, or days between the dates. This function is available in all versions of Excel since at least version 95, but is documented in the help file only for Excel Syntax: DATEDIF(start_date, end_date, interval) INTERVAL MEANING DESCRIPTION M Months Complete calendar months between the dates. D Days Number of days between the dates. Y Years Complete calendar years between the dates. Ym Months Excluding Years Complete calendar months between the dates as if they were of the same year. Yd Days Excluding Years Complete calendar days between the dates as if they were of the same year. Md Days Excluding Years And Months Complete calendar days between the dates as if they were of the same month and same year. Table 4-27 DATEDIF interval values WEEKNUM() WEEKNUM returns the week number of a serial date. The base for WEEKNUM is the 1 st of January. The return type argument tells Excel which day the week begins; with the default being 1 (Sunday). WEEKNUM is housed in the Analysis Toolpak function library in Excel 2003 and earlier versions. Syntax: WEEKNUM(serial_date, return_type) NETWORKDAYS() NETWORKDAYS returns the number of whole working days between start date and end date. Working days exclude weekends and any dates identified in holidays. NETWORKDAYS is housed in the Analysis Toolpak function library in Excel 2003 and earlier versions. Syntax: NETWORKDAYS(start_date, end_date, holidays) WORKDAY() WORKDAY returns a number that represents a date that is the indicated number of working days before or after a start date. Working days exclude weekends and any dates identified as holidays. WORKDAY is housed in the Analysis Toolpak function library in Excel 2003 and earlier versions. Syntax: WORKDAY(start_date, num_days, holidays) Database Functions Database functions are used to query databases, or better put, column-oriented tabular data with field names. Database functions are quick calculating formula and they definitely have a part to play in optimising complex models. The only major drawback is that criteria must be housed in a range and these criteria tables can become difficult to maintain and might occupy a considerable range. Database functions do not support array arguments. Formula Methods in Excel Jon von der Heyden 2011 Page 52

54 The syntax of D functions (as they are commonly referred to as) are standard: Syntax: [DFunction](database, field, criteria) Database: This must be a reference to a database, i.e. where each column represents a field, a column-oriented data table. Field: Indicates which column in the database is to be aggregated in the function. This can be the field name, entered in speech marks, or the field index number. Criteria: This must also be a reference, either a range reference of a named range reference. You can use any range for the criteria argument, as long as includes at least one field name and at least one criteria value for the given criteria field. DSUM() DSUM adds values in a field (column) in a list or database that match specified criteria. DSUM can be used as an alternative to certain SUMIF(S) and SUMPRODUCT methods. DAVERAGE() DAVERAGE computes the mean of values in a field (column) in a list or database that match specified criteria. DAVERAGE can be used as an alternative to certain AVERAGEIF(S) and other average array formula methods. DCOUNT() DCOUNT counts values in a field (column) in a list or database that match specified criteria. DCOUNT can be used as an alternative to certain COUNTIF(S) and SUMPRODUCT methods. DGET() DGET extracts a single value from a field (column) in a list or database that match specified criteria. DGET can be used as an alternative to various lookup methods. DMAX() DMAX returns the largest number from a field (column) in a list or database that match specified criteria. DMIN() DMIN returns the smallest number from a field (column) in a list or database that match specified criteria. Formula Methods in Excel Jon von der Heyden 2011 Page 53

55 Database Function Examples A B C D 1 Criteria: 2 Region Country Sales COGS 3 =NWE 4 5 Database: 6 Region Country Sales COGS 7 NWE United Kingdom 6,403 3,841 8 NWE Norway 9,778 3,813 9 NWE Finland 3, SWE Spain 6, SWE Portugal 2, SWE France 7,177 6, Results NWE Sales: 15 SUM 20,119 =DSUM(A6:D12,"Sales",A2:D3) 16 COUNT 3 =DCOUNT(A6:D12,3,A2:D3) 17 AVERAGE 6,706 =DAVERAGE(A6:D12,"Sales",A2:D3) 18 MIN 3,938 =DMIN(A6:D12,3,A2:D3) 19 MAX 9,778 =DMAX(A6:D12,"Sales",A2:D3) Table 4-28 Aggregating results with D Functions with a single criterion A B C D 1 Criteria: 2 Region Country Sales COGS 3 =Norway 4 =Finland 5 Database: 6 Region Country Sales COGS 7 NWE United Kingdom 6,403 3,841 8 NWE Norway 9,778 3,813 9 NWE Finland 3, SWE Spain 6, SWE Portugal 2, SWE France 7,177 6, Results Baltic Sales: 15 SUM 13,716 =DSUM(A6:D12,"Sales",A2:D4) 16 COUNT 2 =DCOUNT(A6:D12,3,A2:D4) 17 AVERAGE 6,858 =DAVERAGE(A6:D12,"Sales",A2:D4) 18 MIN 3,938 =DMIN(A6:D12,3,A2:D4) 19 MAX 9,778 =DMAX(A6:D12,"Sales",A2:D4) Table 4-29 Aggregating results with D Functions using multiple criteria (OR logic) Formula Methods in Excel Jon von der Heyden 2011 Page 54

56 A B C D 1 Criteria: 2 Region Country Sales COGS 3 =NWE > Database: 6 Region Country Sales COGS 7 NWE United Kingdom 6,403 3,841 8 NWE Norway 9,778 3,813 9 NWE Finland 3, SWE Spain 6, SWE Portugal 2, SWE France 7,177 6, Results NWE Sales > 5000: 15 SUM 16,181 =DSUM(A6:D12,"Sales",A2:D3) 16 COUNT 2 =DCOUNT(A6:D12,3, A2:D3) 17 AVERAGE 8,091 =DAVERAGE(A6:D12,"Sales", A2:D3) 18 MIN 6,403 =DMIN(A6:D12,3, A2:D3) 19 MAX 9,778 =DMAX(A6:D12,"Sales", A2:D3) Table 4-30 Aggregating results with D Functions using multiple criteria (AND logic) Formula Methods in Excel Jon von der Heyden 2011 Page 55

57 5. Dynamic Named Ranges As mentioned previously in this document, a name can be used to house a formula, house a constant or reference a range. We have also already mentioned that the INDEX worksheet function can be used to yield a range reference. Therefore we can define names, and use a formula method including INDEX to yield a dynamic range. A dynamic range is a range reference that grows when new information is added to a table, and shrinks when information is removed from a table. The range might return a reference to a single column or row, or it might include reference to both. When to Use Dynamic Named Ranges There are plenty of practical reasons to use a dynamic named range. You can use the same formula methods described directly on the worksheet, but often it is practical to embed them into defined names. Use dynamic named ranges: When it is likely that data will be added to or removed from a table and; When you need to repeatedly call the range reference in formula, pivot tables and charts and/or; When the range reference is likely to grow or shrink and you need to reference the range in array formulae. One-Dimensional Dynamic Range You are developing a model that you foresee continual use over a number of years. This model contains date formula, specifically NETWORKDAYS and WORKDAY functions and you need to exclude holidays from these calculations. Therefore you house a single column list of bank holiday dates. This list can change each year (such as an additional holiday in 2011 The Royal Wedding). A 1 HOLIDAY SERIAL DATE EVENT 2 27/12/2010 Christmas Break 3 28/12/2010 Christmas Break 4 29/12/2010 Christmas Break 5 30/12/2010 Christmas Break 6 03/01/2011 New Year's Day 7 22/04/2011 Good Friday 8 25/04/2011 Easter Monday 9 29/04/2011 Royal Wedding 10 02/05/2011 May Day Bank Holiday 11 30/05/2011 Spring Bank Holiday 12 29/08/2011 Late Summer Holiday Table 5-1 Dynamic Table of Holiday Dates B For the purpose of calculation in NETWORKDAYS and WORKDAY, the only reference that you need to pass is the serial dates, in this exhibit located in A2:A12. Before you define a new dynamic range you need to consider; will the range only contain numeric values? Or will the range only ever contain text values? Or will it contain a mixture of the two data types? Formula Methods in Excel Jon von der Heyden 2011 Page 56

58 Dynamic Ranges Numbers Only In the exhibit described we require a reference to a range that contains dates, therefore numeric values only. Firstly, if you intend on building a few dynamic named ranges where the ranges might contain numbers then you should set-up a name to store BigNum. Name: BigNum Refers To: = E+307 Dynamic Range: Name: Holidays_Dates Refers To: =$A$2:INDEX($A:$A,MATCH(BigNum,$A:$A,TRUE),0) The A2 reference is considered static; it is the starting point of your Holidays range in all cases. We then use the INDEX method to yield the last reference in the range, using the MATCH function to perform a binary search of BigNum in column A. Since BigNum will always be larger than any date in the range, MATCH will yield the row index number of the last entry in the table. INDEX on its own would only return the last value in the table, but when bolted onto the starting range with a range operator it will refer to the last cell in the range. The result is a contiguous range spanning from the starting range reference all the way down to the last range reference in the populated table, namely A2:A12. Dynamic Ranges Text Only The method to yield a dynamic range for a table of text is the same as the method described above, only we substitute BigNum for BigText. BigText is usually setup as a string of two-hundered z characters. Naturally we need to choose a range of text values so we will be substituting column A (the date values) with column B (the holiday names). Name: BigText Refers To: =REPT( z,255) Dynamic Range: Name: Holiday_Dates Refers To: =$B$2:INDEX($B:$B,MATCH(BigText,$B:$B,TRUE),0) Multi-Dimensional Dynamic Ranges Multi-dimensional ranges are those that span more than one column and more than one row. Where these are required one must first decide upon a lead column, where row number is dynamic, or a lead row, where column number is dynamic. Formula: Holiday_Table Refers To: =$A$2:INDEX($B:$B,MATCH(BigNum,$A:$A,TRUE),0) Analysing the above, the start of the range is cell A2. It is then unioned (with the union operator) with a cell from column B (noted by the first argument of the INDEX function). The column of dates in column A has been chosen as the lead for the table height, noted by the second argument of the MATCH function. Formula Methods in Excel Jon von der Heyden 2011 Page 57

59 6. Using Tables A Table, referred to as Lists in prior versions, is a range of cells that holds data, with each row corresponding to an individual record (although the first row may be used to house field names). Tables are incredibly useful and are excellent as pivot table sources and for table sources upon which many array formulae will be dependent. They are dynamic and therefore spare the need for dynamic ranges in certain circumstances. By default, tables have Auto Filters enabled although these can be switched off. These filters can however be used in versions 2007 and later to order the data. Users must be aware, however that models cannot include tables and custom views. Users of tables should also familiarise themselves with table formula syntax. Assume the following Table, called Sales: A B C D 1 DIVISIONS Q1 Q2 Q3 2 Real Estate 2,500,000 2,650,000 2,550,000 3 IT 980, , ,000 4 Accounting Services 345, , ,000 Fortunately reference operators and such remain unchanged. The key change here is how we reference areas, or ranges, within the table. REFERENCE MEANS RANGE EQUIVALENT =Sales[#All] The entire table, including headers, data, and totals A1:D4 =Sales[#Data] Data only A2:D4 =Sales[#Headers] The header row A1:D1 =Sales[#Totals] The totals row, if one exists [NULL] =Sales[#ThisRow] The current row, according to the cursor position A2:D2 (assuming cursor is in row 2) Table 6-1 Table reference syntax One can also use calculations within Tables; and in doing so use the Table structured references. For instance, assuming you shish to add a totals column for Q1, Q2, Q3, called YearToDate; the following could be used: =SUM(Table1[@[Q1]:[Q3]]) To add totals to the bottom of the table, simply go to the next available row and enter your totals formula. Excel should be intelligent enough to interpret it as a totals row. One can also refer to the field names, either referencing them entirely, or in components. Let us study the following table: REFERENCE MEANS RANGE EQUIVALENT =Sales[[#All],[DIVISIONS]] The entire DIVISIONS field A1:A5 =Sales[[#Headers],[DIVISIONS]] The DIVISIONS header only A1 =Sales[[#Totals],[YearToDate]] The YearToDate subtotal E5 =Sales[[Q1]:[Q3]] All data between Q1 and Q3 B2:D4 =Sales[[#Headers],[#Data],[Q1]:[Q3]] Q1:Q3 headers and data B1:D4 The best way for one to familiarise oneself with Tables is to force oneself to use them! Give it a go! Formula Methods in Excel Jon von der Heyden 2011 Page 58

60 7. Auditing Formula Perhaps even trickier than writing formulae, is auditing formulae. Not only those written by others but even one s own formulae. Sometime six months down the line, or sometimes even two hours. The trick to being able to successfully understand ones own work later down the line is: Keep it simple. It s very tempting to make things look a lot more complicated than they are! Use names! And use a descript naming convention. Keep a hidden sheet with notes that you can revisit later. Break down long formulae into many lines at relevant intervals. Hitting ALT+ENTER in formula entry mode allows continuation of the formula onto a new line. So what process should one follow when auditing formulae? There are plenty of different methods and tools, but in reality the only truly effective process is as follows: 1. Briefly attempt to resolve the formula simply by looking at it and. You should recognise fairly quickly whether or not you can resolve the formula without further assistance. 2. If the formula is complex, are there notes on it in some sort of log or audit sheet? If so that should be your first port of call. 3. Does the formula reference names? If so study each name in the name manager. Perhaps jot them down on a piece of paper with a note on what each refers to. 4. Can you see a logical order in which to study the formula? If so, break the formula down onto multiple lies by inserting carriage returns at the relevant positions (place your cursor in the formula bar and hit ALT+ENTER). 5. If the formula is complex, does it contain large range references (arrays of 20+ items becomes difficult to tack with this method)? If not invoke Evaluate Formula. This utility is in the formulae tab in Excel 2007 and a. Focus on the underlined argument and click Evaluate. b. Excel will determine the order to resolve this and it will resolve each statement one step at a time, overwriting the statement with constant values (or inline array constants for arrays). c. Click Evaluate at the end of each interval, once you have satisfied yourself with the result of the current step. d. Click Step In on any argument that you are unsure about. Formula Methods in Excel Jon von der Heyden 2011 Page 59

61 6. For relatively simple formula you can manually emulate step 2 as follows: a. Highlight the formula component that you wish to evaluate. b. Hit F9. The component will be resolved. c. Repeat these steps until you fully resolve the formula. 7. If the formula is complex and does reference large arrays, consider making a copy and manually reducing the size of the arrays. Once done go through the steps described in item #5. If you are trying to track and error: 1. Use the Evaluate Formula utility described above. 2. Step 1 may reveal that the error is a knock-on effect of an error in a precedent. Highlight the precedent ranges and seek out the errors. It is always best to handle errors at the source. a. Hit F5 > Special and choose Precedents > Direct only (note this will only select ranges on the current worksheet). b. Invoke Go To Special again, and this time seek out errors by choosing formulae > Errors. Note that errors can be constant values too so be sure to test Constants > Errors Formula Methods in Excel Jon von der Heyden 2011 Page 60

Course Contents For All : Advance Excel & VBA Macros

Course Contents For All : Advance Excel & VBA Macros Pankaj Kumar Gupta: Trainer Advanced Excel & VBA Macros Ph. 8750676667, 9871076667, Email: info@advancedexcel.net, advancedexcel07@gmail.com www.advancedexcel.net, www.vbamacrosexcel.com Office Address:

More information

Commonly Used Excel Formulas

Commonly Used Excel Formulas Microsoft Excel 2007 Advanced Formulas Windows XP Look Up Values in a List of Data: Commonly Used Excel Formulas Let's say you want to look up an employee's phone extension by using their badge number

More information

SOME EXCEL FORMULAS AND FUNCTIONS

SOME EXCEL FORMULAS AND FUNCTIONS SOME EXCEL FORMULAS AND FUNCTIONS About calculation operators Operators specify the type of calculation that you want to perform on the elements of a formula. Microsoft Excel includes four different types

More information

Commonly Used Excel Functions. Supplement to Excel for Budget Analysts

Commonly Used Excel Functions. Supplement to Excel for Budget Analysts Supplement to Excel for Budget Analysts Version 1.0: February 2016 Table of Contents Introduction... 4 Formulas and Functions... 4 Math and Trigonometry Functions... 5 ABS... 5 ROUND, ROUNDUP, and ROUNDDOWN...

More information

Rows & Columns. Workbooks & Worksheets

Rows & Columns. Workbooks & Worksheets + O + N + P + S F12 + W + Q Esc + C + X + V + Z + Y + A + F Ctrl + H + Tab +, + Y The Fundamentals + Option + R Open File New File Print Save File Save File As Close File Close Excel Exit Dialog Copy Cut

More information

Creating Basic Excel Formulas

Creating Basic Excel Formulas Creating Basic Excel Formulas Formulas are equations that perform calculations on values in your worksheet. Depending on how you build a formula in Excel will determine if the answer to your formula automatically

More information

Performing Simple Calculations Using the Status Bar

Performing Simple Calculations Using the Status Bar Excel Formulas Performing Simple Calculations Using the Status Bar If you need to see a simple calculation, such as a total, but do not need it to be a part of your spreadsheet, all you need is your Status

More information

Microsoft Excel 2010 Part 3: Advanced Excel

Microsoft Excel 2010 Part 3: Advanced Excel CALIFORNIA STATE UNIVERSITY, LOS ANGELES INFORMATION TECHNOLOGY SERVICES Microsoft Excel 2010 Part 3: Advanced Excel Winter 2015, Version 1.0 Table of Contents Introduction...2 Sorting Data...2 Sorting

More information

Excel Database Management Microsoft Excel 2003

Excel Database Management Microsoft Excel 2003 Excel Database Management Microsoft Reference Guide University Technology Services Computer Training Copyright Notice Copyright 2003 EBook Publishing. All rights reserved. No part of this publication may

More information

Excel 2007 Tutorials - Video File Attributes

Excel 2007 Tutorials - Video File Attributes Get Familiar with Excel 2007 42.40 3.02 The Excel 2007 Environment 4.10 0.19 Office Button 3.10 0.31 Quick Access Toolbar 3.10 0.33 Excel 2007 Ribbon 3.10 0.26 Home Tab 5.10 0.19 Insert Tab 3.10 0.19 Page

More information

MICROSOFT EXCEL STEP BY STEP GUIDE

MICROSOFT EXCEL STEP BY STEP GUIDE IGCSE ICT SECTION 14 DATA ANALYSIS MICROSOFT EXCEL STEP BY STEP GUIDE Mark Nicholls ICT Lounge Data Analysis Self Study Guide Contents Learning Outcomes Page 3 What is a Data Model?... Page 4 Spreadsheet

More information

Microsoft Office 2010: Access 2010, Excel 2010, Lync 2010 learning assets

Microsoft Office 2010: Access 2010, Excel 2010, Lync 2010 learning assets Microsoft Office 2010: Access 2010, Excel 2010, Lync 2010 learning assets Simply type the id# in the search mechanism of ACS Skills Online to access the learning assets outlined below. Titles Microsoft

More information

Intro to Excel spreadsheets

Intro to Excel spreadsheets Intro to Excel spreadsheets What are the objectives of this document? The objectives of document are: 1. Familiarize you with what a spreadsheet is, how it works, and what its capabilities are; 2. Using

More information

Microsoft Access 3: Understanding and Creating Queries

Microsoft Access 3: Understanding and Creating Queries Microsoft Access 3: Understanding and Creating Queries In Access Level 2, we learned how to perform basic data retrievals by using Search & Replace functions and Sort & Filter functions. For more complex

More information

You will use these functions a moderate amount, much more so for due diligence and analysis of order/customer/other data than in financial models.

You will use these functions a moderate amount, much more so for due diligence and analysis of order/customer/other data than in financial models. What This Guide Covers and How to Use It Rather than re-explaining every single function here, we re mostly going to give you solid examples that demonstrate how to use each function. Note that this guide

More information

EUROPEAN COMPUTER DRIVING LICENCE / INTERNATIONAL COMPUTER DRIVING LICENCE ADVANCED SPREADSHEETS

EUROPEAN COMPUTER DRIVING LICENCE / INTERNATIONAL COMPUTER DRIVING LICENCE ADVANCED SPREADSHEETS EUROPEAN COMPUTER DRIVING LICENCE / INTERNATIONAL COMPUTER DRIVING LICENCE ADVANCED SPREADSHEETS The European Computer Driving Licence Foundation Ltd. Portview House Thorncastle Street Dublin 4 Ireland

More information

Microsoft Excel Tips & Tricks

Microsoft Excel Tips & Tricks Microsoft Excel Tips & Tricks Collaborative Programs Research & Evaluation TABLE OF CONTENTS Introduction page 2 Useful Functions page 2 Getting Started with Formulas page 2 Nested Formulas page 3 Copying

More information

USC Marshall School of Business Academic Information Services. Excel 2007 Qualtrics Survey Analysis

USC Marshall School of Business Academic Information Services. Excel 2007 Qualtrics Survey Analysis USC Marshall School of Business Academic Information Services Excel 2007 Qualtrics Survey Analysis DESCRIPTION OF EXCEL ANALYSIS TOOLS AVAILABLE... 3 Summary of Tools Available and their Properties...

More information

Excel 2003 Tutorials - Video File Attributes

Excel 2003 Tutorials - Video File Attributes Using Excel Files 18.00 2.73 The Excel Environment 3.20 0.14 Opening Microsoft Excel 2.00 0.12 Opening a new workbook 1.40 0.26 Opening an existing workbook 1.50 0.37 Save a workbook 1.40 0.28 Copy a workbook

More information

Microsoft Excel 2007 Critical Data Analysis Using Functions

Microsoft Excel 2007 Critical Data Analysis Using Functions V O L U M E 4 Microsoft Excel 007 Critical Data Analysis Using Functions DASH DESIGNS CONSULTING Technology Training and Consulting Services Excel 007 Critical Data Analysis Using Functions For The Haas

More information

Differences in Use between Calc and Excel

Differences in Use between Calc and Excel Differences in Use between Calc and Excel Title: Differences in Use between Calc and Excel: Version: 1.0 First edition: October 2004 Contents Overview... 3 Copyright and trademark information... 3 Feedback...3

More information

Accounting & Financial Modeling Liberal Arts Boot Camp Overview

Accounting & Financial Modeling Liberal Arts Boot Camp Overview fa Accounting & Financial Modeling Liberal Arts Boot Camp Overview 2-day intensive training program where liberal arts students learn financial accounting, financial modeling in Excel, and technical interview

More information

How To Use Excel With A Calculator

How To Use Excel With A Calculator Functions & Data Analysis Tools Academic Computing Services www.ku.edu/acs Abstract: This workshop focuses on the functions and data analysis tools of Microsoft Excel. Topics included are the function

More information

Getting Started with Excel 2008. Table of Contents

Getting Started with Excel 2008. Table of Contents Table of Contents Elements of An Excel Document... 2 Resizing and Hiding Columns and Rows... 3 Using Panes to Create Spreadsheet Headers... 3 Using the AutoFill Command... 4 Using AutoFill for Sequences...

More information

MAS 500 Intelligence Tips and Tricks Booklet Vol. 1

MAS 500 Intelligence Tips and Tricks Booklet Vol. 1 MAS 500 Intelligence Tips and Tricks Booklet Vol. 1 1 Contents Accessing the Sage MAS Intelligence Reports... 3 Copying, Pasting and Renaming Reports... 4 To create a new report from an existing report...

More information

Q&As: Microsoft Excel 2013: Chapter 2

Q&As: Microsoft Excel 2013: Chapter 2 Q&As: Microsoft Excel 2013: Chapter 2 In Step 5, why did the date that was entered change from 4/5/10 to 4/5/2010? When Excel recognizes that you entered a date in mm/dd/yy format, it automatically formats

More information

USC Marshall School of Business Marshall Information Services

USC Marshall School of Business Marshall Information Services USC Marshall School of Business Marshall Information Services Excel Dashboards and Reports The goal of this workshop is to create a dynamic "dashboard" or "Report". A partial image of what we will be creating

More information

Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.

Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program. Name: Class: Date: Exam #1 - Prep True/False Indicate whether the statement is true or false. 1. Programming is the process of writing a computer program in a language that the computer can respond to

More information

The Center for Teaching, Learning, & Technology

The Center for Teaching, Learning, & Technology The Center for Teaching, Learning, & Technology Instructional Technology Workshops Microsoft Excel 2010 Formulas and Charts Albert Robinson / Delwar Sayeed Faculty and Staff Development Programs Colston

More information

Excel Intermediate. Table of Contents UPPER, LOWER, PROPER AND TRIM...28

Excel Intermediate. Table of Contents UPPER, LOWER, PROPER AND TRIM...28 Excel Intermediate Table of Contents Formulas UPPER, LOWER, PROPER AND TRM...2 LEFT, MID, and RIGHT...3 CONCATENATE...4 & (Ampersand)...5 CONCATENATE vs. & (Ampersand)...5 ROUNDUP, and ROUNDDOWN...6 VLOOKUP...7

More information

INTRODUCTION TO EXCEL

INTRODUCTION TO EXCEL INTRODUCTION TO EXCEL 1 INTRODUCTION Anyone who has used a computer for more than just playing games will be aware of spreadsheets A spreadsheet is a versatile computer program (package) that enables you

More information

How to Excel with CUFS Part 2 Excel 2010

How to Excel with CUFS Part 2 Excel 2010 How to Excel with CUFS Part 2 Excel 2010 Course Manual Finance Training Contents 1. Working with multiple worksheets 1.1 Inserting new worksheets 3 1.2 Deleting sheets 3 1.3 Moving and copying Excel worksheets

More information

ACADEMIC TECHNOLOGY SUPPORT

ACADEMIC TECHNOLOGY SUPPORT ACADEMIC TECHNOLOGY SUPPORT Microsoft Excel: Formulas ats@etsu.edu 439-8611 www.etsu.edu/ats Table of Contents: Overview... 1 Objectives... 1 1. How to Create Formulas... 2 2. Naming Ranges... 5 3. Common

More information

Formulas & Functions in Microsoft Excel

Formulas & Functions in Microsoft Excel Formulas & Functions in Microsoft Excel Theresa A Scott, MS Biostatistician III Department of Biostatistics Vanderbilt University theresa.scott@vanderbilt.edu Table of Contents 1 Introduction 1 1.1 Using

More information

MS Access: Advanced Tables and Queries. Lesson Notes Author: Pamela Schmidt

MS Access: Advanced Tables and Queries. Lesson Notes Author: Pamela Schmidt Lesson Notes Author: Pamela Schmidt Tables Text Fields (Default) Text or combinations of text and numbers, as well as numbers that don't require calculations, such as phone numbers. or the length set by

More information

Advanced Microsoft Excel 2013

Advanced Microsoft Excel 2013 Advanced Microsoft Excel 2013 Introduction Microsoft Excel is program designed to efficiently manage spreadsheets and analyze data. It contains both basic and advanced features that anyone can learn. Once

More information

MICROSOFT ACCESS STEP BY STEP GUIDE

MICROSOFT ACCESS STEP BY STEP GUIDE IGCSE ICT SECTION 11 DATA MANIPULATION MICROSOFT ACCESS STEP BY STEP GUIDE Mark Nicholls ICT Lounge P a g e 1 Contents Task 35 details Page 3 Opening a new Database. Page 4 Importing.csv file into the

More information

Creating A Grade Sheet With Microsoft Excel

Creating A Grade Sheet With Microsoft Excel Creating A Grade Sheet With Microsoft Excel Microsoft Excel serves as an excellent tool for tracking grades in your course. But its power is not limited to its ability to organize information in rows and

More information

Advanced Excel for Institutional Researchers

Advanced Excel for Institutional Researchers Advanced Excel for Institutional Researchers Presented by: Sandra Archer Helen Fu University Analysis and Planning Support University of Central Florida September 22-25, 2012 Agenda Sunday, September 23,

More information

Engineering Problem Solving and Excel. EGN 1006 Introduction to Engineering

Engineering Problem Solving and Excel. EGN 1006 Introduction to Engineering Engineering Problem Solving and Excel EGN 1006 Introduction to Engineering Mathematical Solution Procedures Commonly Used in Engineering Analysis Data Analysis Techniques (Statistics) Curve Fitting techniques

More information

EXCEL Tutorial: How to use EXCEL for Graphs and Calculations.

EXCEL Tutorial: How to use EXCEL for Graphs and Calculations. EXCEL Tutorial: How to use EXCEL for Graphs and Calculations. Excel is powerful tool and can make your life easier if you are proficient in using it. You will need to use Excel to complete most of your

More information

MICROSOFT EXCEL FORMULAS

MICROSOFT EXCEL FORMULAS MICROSOFT EXCEL FORMULAS Building Formulas... 1 Writing a Formula... 1 Parentheses in Formulas... 2 Operator Precedence... 2 Changing the Operator Precedence... 2 Functions... 3 The Insert Function Button...

More information

Indiana County Assessor Association Excel Excellence

Indiana County Assessor Association Excel Excellence Indiana County Assessor Association Excel Excellence Basic Excel Data Analysis Division August 2012 1 Agenda Lesson 1: The Benefits of Excel Lesson 2: The Basics of Excel Lesson 3: Hands On Exercises Lesson

More information

Simply Accounting Intelligence Tips and Tricks Booklet Vol. 1

Simply Accounting Intelligence Tips and Tricks Booklet Vol. 1 Simply Accounting Intelligence Tips and Tricks Booklet Vol. 1 1 Contents Accessing the SAI reports... 3 Running, Copying and Pasting reports... 4 Creating and linking a report... 5 Auto e-mailing reports...

More information

Excel: Further Functions

Excel: Further Functions IT Training Excel: Further Functions Jane Barrett, IT Training & Engagement Team Information System Services Version 4.1 Scope Learning outcomes Understand basic cell manipulation using formulas and formatting

More information

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay

Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Information Theory and Coding Prof. S. N. Merchant Department of Electrical Engineering Indian Institute of Technology, Bombay Lecture - 17 Shannon-Fano-Elias Coding and Introduction to Arithmetic Coding

More information

Preface of Excel Guide

Preface of Excel Guide Preface of Excel Guide The use of spreadsheets in a course designed primarily for business and social science majors can enhance the understanding of the underlying mathematical concepts. In addition,

More information

SECTION 2: Working with Functions and Formulas

SECTION 2: Working with Functions and Formulas SECTION 2: Working with Functions and Formulas In this section you will learn about: Relative and absolute cell references Basic mathematical operators Using formulas with multiple cell references Fixing

More information

Table and field properties Tables and fields also have properties that you can set to control their characteristics or behavior.

Table and field properties Tables and fields also have properties that you can set to control their characteristics or behavior. Create a table When you create a database, you store your data in tables subject-based lists that contain rows and columns. For instance, you can create a Contacts table to store a list of names, addresses,

More information

Below is a very brief tutorial on the basic capabilities of Excel. Refer to the Excel help files for more information.

Below is a very brief tutorial on the basic capabilities of Excel. Refer to the Excel help files for more information. Excel Tutorial Below is a very brief tutorial on the basic capabilities of Excel. Refer to the Excel help files for more information. Working with Data Entering and Formatting Data Before entering data

More information

Excel Level Two. Introduction. Contents. Exploring Formulas. Entering Formulas

Excel Level Two. Introduction. Contents. Exploring Formulas. Entering Formulas Introduction Excel Level Two This workshop introduces you to formulas, functions, moving and copying data, using autofill, relative and absolute references, and formatting cells. Contents Introduction

More information

SOAL-SOAL MICROSOFT EXCEL 1. The box on the chart that contains the name of each individual record is called the. A. cell B. title C. axis D.

SOAL-SOAL MICROSOFT EXCEL 1. The box on the chart that contains the name of each individual record is called the. A. cell B. title C. axis D. SOAL-SOAL MICROSOFT EXCEL 1. The box on the chart that contains the name of each individual record is called the. A. cell B. title C. axis D. legend 2. If you want all of the white cats grouped together

More information

Formulas & Functions in Microsoft Excel

Formulas & Functions in Microsoft Excel Formulas & Functions in Microsoft Excel Theresa A Scott, MS Biostatistician II Department of Biostatistics Vanderbilt University theresa.scott@vanderbilt.edu Table of Contents 1 Introduction 1 1.1 Using

More information

Excel Guide for Finite Mathematics and Applied Calculus

Excel Guide for Finite Mathematics and Applied Calculus Excel Guide for Finite Mathematics and Applied Calculus Revathi Narasimhan Kean University A technology guide to accompany Mathematical Applications, 6 th Edition Applied Calculus, 2 nd Edition Calculus:

More information

Tips and Tricks SAGE ACCPAC INTELLIGENCE

Tips and Tricks SAGE ACCPAC INTELLIGENCE Tips and Tricks SAGE ACCPAC INTELLIGENCE 1 Table of Contents Auto e-mailing reports... 4 Automatically Running Macros... 7 Creating new Macros from Excel... 8 Compact Metadata Functionality... 9 Copying,

More information

Ohio University Computer Services Center August, 2002 Crystal Reports Introduction Quick Reference Guide

Ohio University Computer Services Center August, 2002 Crystal Reports Introduction Quick Reference Guide Open Crystal Reports From the Windows Start menu choose Programs and then Crystal Reports. Creating a Blank Report Ohio University Computer Services Center August, 2002 Crystal Reports Introduction Quick

More information

Excel: Introduction to Formulas

Excel: Introduction to Formulas Excel: Introduction to Formulas Table of Contents Formulas Arithmetic & Comparison Operators... 2 Text Concatenation... 2 Operator Precedence... 2 UPPER, LOWER, PROPER and TRIM... 3 & (Ampersand)... 4

More information

Access Queries (Office 2003)

Access Queries (Office 2003) Access Queries (Office 2003) Technical Support Services Office of Information Technology, West Virginia University OIT Help Desk 293-4444 x 1 oit.wvu.edu/support/training/classmat/db/ Instructor: Kathy

More information

Participant Guide RP301: Ad Hoc Business Intelligence Reporting

Participant Guide RP301: Ad Hoc Business Intelligence Reporting RP301: Ad Hoc Business Intelligence Reporting State of Kansas As of April 28, 2010 Final TABLE OF CONTENTS Course Overview... 4 Course Objectives... 4 Agenda... 4 Lesson 1: Reviewing the Data Warehouse...

More information

EUROPEAN COMPUTER DRIVING LICENCE. Module AM4, Spreadsheets, Advanced - Level

EUROPEAN COMPUTER DRIVING LICENCE. Module AM4, Spreadsheets, Advanced - Level EUROPEAN COMPUTER DRIVING LICENCE Module AM4, Spreadsheets, Advanced - Level Copyright ª 2001 The ECDL Foundation Ltd. All rights reserved. No part of this publication may be reproduced in any form except

More information

ECDL. European Computer Driving Licence. Spreadsheet Software BCS ITQ Level 2. Syllabus Version 5.0

ECDL. European Computer Driving Licence. Spreadsheet Software BCS ITQ Level 2. Syllabus Version 5.0 European Computer Driving Licence Spreadsheet Software BCS ITQ Level 2 Using Microsoft Excel 2010 Syllabus Version 5.0 This training, which has been approved by BCS, The Chartered Institute for IT, includes

More information

MICROSOFT EXCEL 2007-2010 FORECASTING AND DATA ANALYSIS

MICROSOFT EXCEL 2007-2010 FORECASTING AND DATA ANALYSIS MICROSOFT EXCEL 2007-2010 FORECASTING AND DATA ANALYSIS Contents NOTE Unless otherwise stated, screenshots in this book were taken using Excel 2007 with a blue colour scheme and running on Windows Vista.

More information

Using Excel for Analyzing Survey Questionnaires Jennifer Leahy

Using Excel for Analyzing Survey Questionnaires Jennifer Leahy University of Wisconsin-Extension Cooperative Extension Madison, Wisconsin PD &E Program Development & Evaluation Using Excel for Analyzing Survey Questionnaires Jennifer Leahy G3658-14 Introduction You

More information

Data Analysis Tools. Tools for Summarizing Data

Data Analysis Tools. Tools for Summarizing Data Data Analysis Tools This section of the notes is meant to introduce you to many of the tools that are provided by Excel under the Tools/Data Analysis menu item. If your computer does not have that tool

More information

Useful Microsoft Excel Functions & Formulas Theresa A Scott, MS Department of Biostatistics Vanderbilt University theresa.scott@vanderbilt.

Useful Microsoft Excel Functions & Formulas Theresa A Scott, MS Department of Biostatistics Vanderbilt University theresa.scott@vanderbilt. Useful Microsoft Excel Functions & s Theresa Scott, MS Department of Biostatistics Vanderbilt University theresa.scott@vanderbilt.edu This document contains a series of examples that illustrate some useful

More information

X1 Professional Client

X1 Professional Client X1 Professional Client What Will X1 Do For Me? X1 instantly locates any word in any email message, attachment, file or Outlook contact on your PC. Most search applications require you to type a search,

More information

Notes on Transitioning from Excel 2003 Lists to Excel 2007 Tables

Notes on Transitioning from Excel 2003 Lists to Excel 2007 Tables Notes on Transitioning from Excel 2003 Lists to Excel 2007 Tables Paula Ecklund 2008-2009 1 Contents Introduction Background 1 Why the change and Why these Notes 2 The Excel 2003 List Characteristics of

More information

EXAMPLE WITH NO NAME EXAMPLE WITH A NAME

EXAMPLE WITH NO NAME EXAMPLE WITH A NAME By using names, you can make your formulas much easier to understand and maintain. You can define a name for a cell range, function, constant, or table. Once you adopt the practice of using names in your

More information

Access 2010: Creating Queries Table of Contents INTRODUCTION TO QUERIES... 2 QUERY JOINS... 2 INNER JOINS... 3 OUTER JOINS...

Access 2010: Creating Queries Table of Contents INTRODUCTION TO QUERIES... 2 QUERY JOINS... 2 INNER JOINS... 3 OUTER JOINS... Access 2010: Creating Queries Table of Contents INTRODUCTION TO QUERIES... 2 QUERY JOINS... 2 INNER JOINS... 3 OUTER JOINS... 3 CHANGE A JOIN PROPERTY... 4 REMOVING A JOIN... 4 CREATE QUERIES... 4 THE

More information

Excel 2010: Create your first spreadsheet

Excel 2010: Create your first spreadsheet Excel 2010: Create your first spreadsheet Goals: After completing this course you will be able to: Create a new spreadsheet. Add, subtract, multiply, and divide in a spreadsheet. Enter and format column

More information

MS Excel as a Database

MS Excel as a Database Centre for Learning and Academic Development (CLAD) Technology Skills Development Team MS Excel as a Database http://intranet.birmingham.ac.uk/itskills Using MS Excel as a Database (XL2103) Author: Sonia

More information

We will learn the Python programming language. Why? Because it is easy to learn and many people write programs in Python so we can share.

We will learn the Python programming language. Why? Because it is easy to learn and many people write programs in Python so we can share. LING115 Lecture Note Session #4 Python (1) 1. Introduction As we have seen in previous sessions, we can use Linux shell commands to do simple text processing. We now know, for example, how to count words.

More information

3 What s New in Excel 2007

3 What s New in Excel 2007 3 What s New in Excel 2007 3.1 Overview of Excel 2007 Microsoft Office Excel 2007 is a spreadsheet program that enables you to enter, manipulate, calculate, and chart data. An Excel file is referred to

More information

CIS300 - Study Guide for Test 3

CIS300 - Study Guide for Test 3 Coverage Management Information Systems Chapter 7: Databases and Data Warehouses (concepts only) Succeeding in Business with Microsoft Excel 2010 slides Chapter 7: Organizing Data for Effective Analysis

More information

Microsoft Access 2010 Part 1: Introduction to Access

Microsoft Access 2010 Part 1: Introduction to Access CALIFORNIA STATE UNIVERSITY, LOS ANGELES INFORMATION TECHNOLOGY SERVICES Microsoft Access 2010 Part 1: Introduction to Access Fall 2014, Version 1.2 Table of Contents Introduction...3 Starting Access...3

More information

Ad Hoc Advanced Table of Contents

Ad Hoc Advanced Table of Contents Ad Hoc Advanced Table of Contents Functions... 1 Adding a Function to the Adhoc Query:... 1 Constant... 2 Coalesce... 4 Concatenate... 6 Add/Subtract... 7 Logical Expressions... 8 Creating a Logical Expression:...

More information

Files. Files. Files. Files. Files. File Organisation. What s it all about? What s in a file?

Files. Files. Files. Files. Files. File Organisation. What s it all about? What s in a file? Files What s it all about? Information being stored about anything important to the business/individual keeping the files. The simple concepts used in the operation of manual files are often a good guide

More information

Excel Working with Data Lists

Excel Working with Data Lists Excel Working with Data Lists Excel Working with Data Lists Princeton University COPYRIGHT Copyright 2001 by EZ-REF Courseware, Laguna Beach, CA http://www.ezref.com/ All rights reserved. This publication,

More information

Microsoft Excel 2007 Consolidate Data & Analyze with Pivot Table Windows XP

Microsoft Excel 2007 Consolidate Data & Analyze with Pivot Table Windows XP Microsoft Excel 2007 Consolidate Data & Analyze with Pivot Table Windows XP Consolidate Data in Multiple Worksheets Example data is saved under Consolidation.xlsx workbook under ProductA through ProductD

More information

Introduction to Statistical Computing in Microsoft Excel By Hector D. Flores; hflores@rice.edu, and Dr. J.A. Dobelman

Introduction to Statistical Computing in Microsoft Excel By Hector D. Flores; hflores@rice.edu, and Dr. J.A. Dobelman Introduction to Statistical Computing in Microsoft Excel By Hector D. Flores; hflores@rice.edu, and Dr. J.A. Dobelman Statistics lab will be mainly focused on applying what you have learned in class with

More information

6.170 Tutorial 3 - Ruby Basics

6.170 Tutorial 3 - Ruby Basics 6.170 Tutorial 3 - Ruby Basics Prerequisites 1. Have Ruby installed on your computer a. If you use Mac/Linux, Ruby should already be preinstalled on your machine. b. If you have a Windows Machine, you

More information

Excel 2010 Level 2. Computer Training Centre, UCC, tcentre@ucc.ie, 021-4903749/3751/3752

Excel 2010 Level 2. Computer Training Centre, UCC, tcentre@ucc.ie, 021-4903749/3751/3752 Excel 2010 Level 2 Computer Training Centre, UCC, tcentre@ucc.ie, 021-4903749/3751/3752 TABLE OF CONTENTS What s New in Excel 2010? 1 The File Menu 1 Enhanced Ribbon Toolbar 1 Sparklines 2 Slicer 2 Macro

More information

How To Understand And Understand A Function In Excel 3.5

How To Understand And Understand A Function In Excel 3.5 Microsoft Excel 2010 Microsoft Office Specialist 2010 Series COURSEWARE 3244 1 EXAM 77 888 Achieve more Microsoft Office Specialist 2010 Microsoft Excel Expert Certification 2010 Lesson 3: Formulas and

More information

VISUAL GUIDE to. RX Scripting. for Roulette Xtreme - System Designer 2.0

VISUAL GUIDE to. RX Scripting. for Roulette Xtreme - System Designer 2.0 VISUAL GUIDE to RX Scripting for Roulette Xtreme - System Designer 2.0 UX Software - 2009 TABLE OF CONTENTS INTRODUCTION... ii What is this book about?... iii How to use this book... iii Time to start...

More information

Microsoft Excel - XP Intermediate

Microsoft Excel - XP Intermediate Microsoft Excel - XP Intermediate Financial Functions Goal Seeking Variable Tables IF Statements AND & OR Functions Mathematical Operations Between Separate Sheets Mathematical Operations Between Separate

More information

Calculating Cash Flow Using Excel Data Lists

Calculating Cash Flow Using Excel Data Lists Calculating Cash Flow Using Excel Data Lists By: Curtis D. Frye 7/26/2006 Bank and credit card statements tell you where your money has gone, but they don t show you how much money you ll have on hand

More information

warpct.com Working with MS Excel 2003 Workbook courseware by WARP! Computer Training

warpct.com Working with MS Excel 2003 Workbook courseware by WARP! Computer Training warpct.com courseware by WARP! Computer Training Working with MS Excel 2003 Workbook Welcome! Thank you for evaluating a portion of this workbook. If you have any questions or comments regarding our training

More information

Microsoft Excel Basics

Microsoft Excel Basics COMMUNITY TECHNICAL SUPPORT Microsoft Excel Basics Introduction to Excel Click on the program icon in Launcher or the Microsoft Office Shortcut Bar. A worksheet is a grid, made up of columns, which are

More information

Data Mining Extensions (DMX) Reference

Data Mining Extensions (DMX) Reference Data Mining Extensions (DMX) Reference SQL Server 2012 Books Online Summary: Data Mining Extensions (DMX) is a language that you can use to create and work with data mining models in Microsoft SQL Server

More information

University of Southern California Marshall Information Services

University of Southern California Marshall Information Services University of Southern California Marshall Information Services Determine Breakeven Price Using Excel - Using Goal Seek, Data Tables, Vlookup & Charts This guide covers how to determine breakeven price

More information

RA MODEL VISUALIZATION WITH MICROSOFT EXCEL 2013 AND GEPHI

RA MODEL VISUALIZATION WITH MICROSOFT EXCEL 2013 AND GEPHI RA MODEL VISUALIZATION WITH MICROSOFT EXCEL 2013 AND GEPHI Prepared for Prof. Martin Zwick December 9, 2014 by Teresa D. Schmidt (tds@pdx.edu) 1. DOWNLOADING AND INSTALLING USER DEFINED SPLIT FUNCTION

More information

Instant SQL Programming

Instant SQL Programming Instant SQL Programming Joe Celko Wrox Press Ltd. INSTANT Table of Contents Introduction 1 What Can SQL Do for Me? 2 Who Should Use This Book? 2 How To Use This Book 3 What You Should Know 3 Conventions

More information

Data Tool Platform SQL Development Tools

Data Tool Platform SQL Development Tools Data Tool Platform SQL Development Tools ekapner Contents Setting SQL Development Preferences...5 Execution Plan View Options Preferences...5 General Preferences...5 Label Decorations Preferences...6

More information

Monte Carlo Simulation. SMG ITS Advanced Excel Workshop

Monte Carlo Simulation. SMG ITS Advanced Excel Workshop Advanced Excel Workshop Monte Carlo Simulation Page 1 Contents Monte Carlo Simulation Tutorial... 2 Example 1: New Marketing Campaign... 2 VLOOKUP... 5 Example 2: Revenue Forecast... 6 Pivot Table... 8

More information

MICROSOFT EXCEL 2010 ANALYZE DATA

MICROSOFT EXCEL 2010 ANALYZE DATA MICROSOFT EXCEL 2010 ANALYZE DATA Microsoft Excel 2010 Essential Analyze data Last Edited: 2012-07-09 1 Basic analyze data... 4 Use diagram to audit formulas... 4 Use Error Checking feature... 4 Use Evaluate

More information

Introduction to Python

Introduction to Python WEEK ONE Introduction to Python Python is such a simple language to learn that we can throw away the manual and start with an example. Traditionally, the first program to write in any programming language

More information

JavaScript: Introduction to Scripting. 2008 Pearson Education, Inc. All rights reserved.

JavaScript: Introduction to Scripting. 2008 Pearson Education, Inc. All rights reserved. 1 6 JavaScript: Introduction to Scripting 2 Comment is free, but facts are sacred. C. P. Scott The creditor hath a better memory than the debtor. James Howell When faced with a decision, I always ask,

More information

Chapter 4. Spreadsheets

Chapter 4. Spreadsheets Chapter 4. Spreadsheets We ve discussed rather briefly the use of computer algebra in 3.5. The approach of relying on www.wolframalpha.com is a poor subsititute for a fullfeatured computer algebra program

More information

EXCEL 2007. Using Excel for Data Query & Management. Information Technology. MS Office Excel 2007 Users Guide. IT Training & Development

EXCEL 2007. Using Excel for Data Query & Management. Information Technology. MS Office Excel 2007 Users Guide. IT Training & Development Information Technology MS Office Excel 2007 Users Guide EXCEL 2007 Using Excel for Data Query & Management IT Training & Development (818) 677-1700 Training@csun.edu http://www.csun.edu/training TABLE

More information

A User Manual for Benefit Cost Analysis Using Microsoft Excel

A User Manual for Benefit Cost Analysis Using Microsoft Excel A User Manual for Benefit Cost Analysis Using Microsoft Excel Canesio Predo National Abaca Research Center Leyte State University Baybay, Leyte, Philippines David James Ecoservices Pty Ltd NSW, Australia

More information